0

ストアド プロシージャを使用してデータベースから複数のレコードをフェッチしたい。ASPX アプリケーションからそのプロシージャを呼び出したいと考えています。それはどのように可能になりますか??

私が試していることは次のとおりです。

Oracle ストアド プロシージャ:

CREATE OR REPLACE PROCEDURE GET_DDO
(
  TCODE IN VARCHAR2  
, DDOCODE_var OUT VARCHAR2  
) AS
BEGIN
  select ddocode into ddocode_var from ddo;
END GET_DDO;

私の .CS コード:

 myconnection.ConnectionString = conString;
        using (myconnection)
        {
            myconnection.Open();          
            myadapter.SelectCommand = new OleDbCommand("Get_DDO", myconnection);
            myadapter.SelectCommand.CommandType = CommandType.StoredProcedure;
            myadapter.SelectCommand.Parameters.Add("TCode", OleDbType.VarChar).Value = treasuryCode;
            myadapter.SelectCommand.Parameters.Add("DDOCOde",OleDbType.Varchar).Direction=ParameterDirection.Output;
            myadapter.Fill(mydataset);            

            myconnection.Close();

            return mydataset;
        }
4

1 に答える 1

2

ストアドプロシージャで複数のselectステートメントを記述できます。

Select * from Table1

Select * from Table2

後でデータベースレイヤーから、DataAdapterを使用してDataSetの値を取得できます。

dataAdapter.Fill(dataSet);

dataSetの2つのデータテーブルで両方のレコードセットを取得できます。

dataSet.DataTables[0] // record from Table1

dataSet.DataTables[1] // record from Table2

見つかった場合はタイプミスをお詫び申し上げます。

于 2012-04-10T06:41:52.363 に答える