200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > C#调用带输入输出参数及结果集Oracle存储过程

C#调用带输入输出参数及结果集Oracle存储过程

时间:2021-09-16 01:25:41

相关推荐

C#调用带输入输出参数及结果集Oracle存储过程

数据库存储过程如图:

winfrom后端代码

引用using Oracle.ManagedDataAccess.Client;

public DataTable GetCommadDECSData(string oppType, string data){//参数OracleParameter[] par = new OracleParameter[]{new OracleParameter("p_transtype",OracleDbType.Varchar2,50),new OracleParameter("p_plant",OracleDbType.Varchar2,50),new OracleParameter("p_string1",OracleDbType.Varchar2),new OracleParameter("p_string2",OracleDbType.Varchar2), new OracleParameter("p_string3",OracleDbType.Varchar2),new OracleParameter("p_string4",OracleDbType.Varchar2),new OracleParameter("p_string5",OracleDbType.Varchar2),new OracleParameter("o_ds_dataset",OracleDbType.RefCursor,5000),//返回结果集参数new OracleParameter("o_res", OracleDbType.Varchar2,200)};par[0].Value = oppType;par[1].Value = "3301";par[2].Value = data;par[3].Value = "";par[4].Value = "";par[5].Value = "";par[6].Value = "";par[7].Direction = ParameterDirection.Output;//定义输出参数outputpar[8].Direction = ParameterDirection.Output;return OracleHelper.RunProcedureGetDataSet("SP_COMMON_GET_DATASET", par, ref ds).Tables[0];}

/// <summary>/// 执行存储过程,返回数据集/// </summary>/// <param name="storedProcName">存储过程名</param>/// <param name="parameters">存储过程参数</param>/// <returns>DataSet</returns>public static DataSet RunProcedureGetDataSet(string storedProcName, OracleParameter[] parameters){using (OracleConnection connection = new OracleConnection(DBUrl)){DataSet dataSet = new DataSet();connection.Open();OracleDataAdapter sqlDA = new OracleDataAdapter();sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);sqlDA.Fill(dataSet, "dt");connection.Close();return dataSet;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。