Oracle データベースのプロシージャを使用する Windows Forms アプリケーションを C# で作成しました。
この形式では、DataGridView
この手順でデータを取得する予定ですが、データが取得されないため、この関数のコードに何が欠けているのかわかりません。以下は両方のコードです。
オラクルの手順:
PROCEDURE P_TRANSFITENS(vID in NUMBER) is
cursor vAUX is
select t.pro_in_codigo,
t.alm_in_codigo,
t.loc_in_codigo,
u.loc_st_nome,
t.nat_st_codigo,
t.mvs_re_quantidade,
t.mvs_st_loteforne
from bd.est_movsumarizado t, bd.est_almoxlocal u
where t.pro_in_codigo = vID
and u.loc_in_codigo = t.loc_in_codigo;
rDadosItem vAUX%ROWTYPE;
begin
open vAUX;
loop
fetch vAUX
into rDadosItem;
exit when vAUX%NOTFOUND;
end loop;
close vAUX;
end;
C# (ボタン クリック ハンドラー):
OracleDataAdapter adp = new OracleDataAdapter();
OracleConnection objConn = new OracleConnection();
objConn.ConnectionString = "Data Source=dtsource;User Id=user;Password=pass";
objConn.Open();
adp.SelectCommand = new OracleCommand();
adp.SelectCommand.Connection = objConn;
adp.SelectCommand.CommandText = "P_TRANSFITENS";
adp.SelectCommand.CommandType = System.Data.CommandType.StoredProcedure;
adp.SelectCommand.Parameters.Add("@vID", Convert.ToInt32(mskdId.Text));
DataTable dt = new DataTable();
adp.Fill(dt);
dtgrvDetalhesItem.DataSource = dt;
どうもありがとう!
PS: 下手な英語で申し訳ありません。