存储过程是以下这个样子的
create or replace
PACKAGE TOS_SP_DOCTORMST AS
TYPE CursorType IS REF CURSOR;
PROCEDURE GET_DOCTORMST(v_doctorcodeVers IN VARCHAR2,
v_delflg IN VARCHAR2,
v_withdata IN VARCHAR2,
v_columnList IN VARCHAR2,
RefCur_MasterBO OUT CursorType,
v_totalCount OUT VARCHAR2);
END;
我写个程序调用这个存储过程
string conStr = "...................";
DataSet ds = new DataSet();
Oracle.DataAccess.Client.OracleConnection con = new Oracle.DataAccess.Client.OracleConnection(conStr);
Oracle.DataAccess.Client.OracleDataAdapter da = new Oracle.DataAccess.Client.OracleDataAdapter("GET_DOCTORMST", con);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.Fill(ds);
Console.Read();
请问存储过程的参数在代码里面怎么写啊? 尤其是红色的游标
create or replace
PACKAGE TOS_SP_DOCTORMST AS
TYPE CursorType IS REF CURSOR;
PROCEDURE GET_DOCTORMST(v_doctorcodeVers IN VARCHAR2,
v_delflg IN VARCHAR2,
v_withdata IN VARCHAR2,
v_columnList IN VARCHAR2,
RefCur_MasterBO OUT CursorType,
v_totalCount OUT VARCHAR2);
END;
我写个程序调用这个存储过程
string conStr = "...................";
DataSet ds = new DataSet();
Oracle.DataAccess.Client.OracleConnection con = new Oracle.DataAccess.Client.OracleConnection(conStr);
Oracle.DataAccess.Client.OracleDataAdapter da = new Oracle.DataAccess.Client.OracleDataAdapter("GET_DOCTORMST", con);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.Fill(ds);
Console.Read();
请问存储过程的参数在代码里面怎么写啊? 尤其是红色的游标
{
sqlCon.Open();
sqlComm = new SqlCommand("queryStuNameById", sqlCon);
//设置命令的类型为存储过程
sqlComm.CommandType = CommandType.StoredProcedure;
//设置参数
sqlComm.Parameters.Add("@stuId", SqlDbType.VarChar);
//注意输出参数要设置大小,否则size默认为0,
sqlComm.Parameters.Add("@stuName", SqlDbType.VarChar, 10);
//设置参数的类型为输出参数,默认情况下是输入,
sqlComm.Parameters["@stuName"].Direction = ParameterDirection.Output;
//为参数赋值
sqlComm.Parameters["@stuId"].Value = "1234";
//执行
sqlComm.ExecuteNonQuery();
//得到输出参数的值,把赋值给name,注意,这里得到的是object类型的,要进行相应的类型轮换
name = sqlComm.Parameters["@stuName"].Value.ToString();
}
}
catch (Exception ex)