c#调用带OUT参数的存储过程

xeppp 2009-12-09 04:51:04



OracleParameter[] op = new OracleParameter[3];
op[0] = new OracleParameter("username_1", OracleType.VarChar);
op[0].Value = username;
op[1] = new OracleParameter("password_1", OracleType.VarChar);
op[1].Value = password;
op[2] = new OracleParameter("uname", OracleType.VarChar);
op[2].Direction = ParameterDirection.Output;
string sqlstr = "p_selectuserinfo";

OracleCommand cmd = new OracleCommand();
cmd.CommandText = sqlstr;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = Conn;

cmd.ExecuteNonQuery();
string str= para[2].Value.ToString();
return str;

在sql/plus中
1 declare ame varchar(20);
2 begin
3 p_selectuserinfo('sss','sss',ame);
4 dbms_output.put_line(ame);
5* end;
SQL> /
可以执行

但在C#中用上面的代码不能执行,请问需要怎么改呢?
...全文
269 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Richard345265669 2009-12-10
  • 打赏
  • 举报
回复
传参出错,你把那些连在一起相当于只传了一个参数进去,肯定会出问题。
Rachel 2009-12-10
  • 打赏
  • 举报
回复
你都米有传进去参数当然会报错了
OracleCommand cmd = new OracleCommand();
cmd.CommandText = sqlstr;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("username_1", OracleType.VarChar).value=username;
cmd.Parameters.Add("password_1", OracleType.VarChar).Value = password;
cmd.Parameters.Add("uname", OracleType.VarChar).Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
string str= para[2].Value.ToString();
return str;
xeppp 2009-12-09
  • 打赏
  • 举报
回复
ORA-06550: 第 1 行, 第 7 列:
PLS-00306: 调用 'P_SELECTUSERINFO' 时参数个数或类型错误
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.OracleClient.OracleException: ORA-06550: 第 1 行, 第 7 列:
PLS-00306: 调用 'P_SELECTUSERINFO' 时参数个数或类型错误
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
-------------------------------------------------------------

以上是出错信息

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧