古詩詞大全網 - 成語查詢 - C#調用oracle存儲過程返回數據集

C#調用oracle存儲過程返回數據集

///?<summary> ///?執行存儲過程

///?</summary>

///?<param?name="storedProcName">存儲過程名</param>

///?<param?name="parameters">存儲過程參數</param>

///?<param?name="tableName">DataSet結果中的表名</param>

///?<returns>DataSet</returns>

public?static?DataSet?RunProcedure(string?storedProcName,?IDataParameter[]?parameters,?string?tableName?)

{

using?(OracleConnection?connection?=?new?OracleConnection(connectionString))

{

DataSet?dataSet?=?new?DataSet();

connection.Open();

OracleDataAdapter?sqlDA?=?new?OracleDataAdapter();

sqlDA.SelectCommand?=?BuildQueryCommand(connection,?storedProcName,?parameters?);

sqlDA.Fill(dataSet,?tableName?);

connection.Close();

return?dataSet;

}

}?

///?<summary>

///?構建?OracleCommand?對象(用來返回壹個結果集,而不是壹個整數值)

///?</summary>

///?<param?name="connection">數據庫連接</param>

///?<param?name="storedProcName">存儲過程名</param>

///?<param?name="parameters">存儲過程參數</param>

///?<returns>OracleCommand</returns>

private?static?OracleCommand?BuildQueryCommand(OracleConnection?connection,string?storedProcName,?IDataParameter[]?parameters)

{

OracleCommand?command?=?new?OracleCommand(storedProcName,?connection?);

command.CommandType?=?CommandType.StoredProcedure;

foreach?(OracleParameter?parameter?in?parameters)

{

command.Parameters.Add(?parameter?);

}

return?command;

}