c# winform 如何执行oracle 存储过程?
1个回答
展开全部
举个例子: 在数据库中创建一个存储过程。这里直接举例命名为getRecord,有一个输入参数sid,输出的变量sname
开始连接数据库:
OracleConnection OC1 = new OracleConnection("Data Source=sos;Persist Security Info=True;User Id=MYTEST; Password=MYTEST");
OC1.Open();
OracleCommand orclCMD = new OracleCommand(); //初始化一个命令对象
orclCMD .Connection = OC1;
orclCMD .CommandText = "getrecord"; //存储过程名
orclCMD .CommandType = CommandType.StoredProcedure;//表面是存储过程
如果创建存储过程是有变量,所以还要声明变量
OracleParameter IdIn = testCMD.Parameters.Add("sid", OracleType.Int32, 11); //输入参数
IdIn.Direction = ParameterDirection.Input;
IdIn.Value = Convert.ToInt32(从界面获取输入的变量); //获得 stuid 号。
//测试时,可直接写成 IdIn.Value = 2 这样的形式
//如果创建存储过程是还定义了输出变量
OracleParameter NumTitles = testCMD.Parameters.Add("sname", OracleType.VarChar, 110);//输出参数
NumTitles.Direction = ParameterDirection.Output;
//测试执行存储过程影响的行数
testCMD.ExecuteNonQuery();
// 注意获得参数的方式: testCMD.Parameters["sname"] ;这个是在存储过程中有输出的变量需要这样子,如果没有输出变量,可以不写。
MessageBox.Show(testCMD.Parameters["sname"].Value.ToString());
开始连接数据库:
OracleConnection OC1 = new OracleConnection("Data Source=sos;Persist Security Info=True;User Id=MYTEST; Password=MYTEST");
OC1.Open();
OracleCommand orclCMD = new OracleCommand(); //初始化一个命令对象
orclCMD .Connection = OC1;
orclCMD .CommandText = "getrecord"; //存储过程名
orclCMD .CommandType = CommandType.StoredProcedure;//表面是存储过程
如果创建存储过程是有变量,所以还要声明变量
OracleParameter IdIn = testCMD.Parameters.Add("sid", OracleType.Int32, 11); //输入参数
IdIn.Direction = ParameterDirection.Input;
IdIn.Value = Convert.ToInt32(从界面获取输入的变量); //获得 stuid 号。
//测试时,可直接写成 IdIn.Value = 2 这样的形式
//如果创建存储过程是还定义了输出变量
OracleParameter NumTitles = testCMD.Parameters.Add("sname", OracleType.VarChar, 110);//输出参数
NumTitles.Direction = ParameterDirection.Output;
//测试执行存储过程影响的行数
testCMD.ExecuteNonQuery();
// 注意获得参数的方式: testCMD.Parameters["sname"] ;这个是在存储过程中有输出的变量需要这样子,如果没有输出变量,可以不写。
MessageBox.Show(testCMD.Parameters["sname"].Value.ToString());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |