oracle无效SQL语句

hepingsoft 2003-10-20 03:56:54
我用一个通用的数据操作类,其中有个调用存储过程的方法,
每次都报错,请问,是什么原因?谢谢。
public override DataSet exeStoredForDataSet(string strStored,string[] strParams,object[] objValues)
//执行带参数的存储过程语句,返回DataSet
{
OleDbCommand cmd=new OleDbCommand();
cmd.Connection=this.conn;
   if(inTransaction)
     cmd.Transaction=trans;
if((strParams!=null)&&(strParams.Length!=objValues.Length))
throw new System.Exception("查询参数和值不对应!");
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText=strStored;
if(strParams!=null)
{
//for(int i=0;i<strParams.Length;i++)
// cmd.Parameters.Add(strParams[i],objValues[i]);
for(int i=0;i<strParams.Length;i++)
{
cmd.Parameters.Add(strParams[i],OleDbType.VarChar).Value = objValues[i];
}
}
   DataSet ds = new DataSet();
OleDbDataAdapter ad = new OleDbDataAdapter();
   ad.SelectCommand =cmd;
   ad.Fill(ds);
   return ds;
}
...全文
38 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hepingsoft 2003-10-20
  • 打赏
  • 举报
回复
create or replace package PkgTest is
type TCursor is ref cursor;

procedure GetTableUsers(Pr_id in varchar2, p_Cursor out TCursor);
end PkgTest;
/
create or replace package body PkgTest is
procedure GetTableUsers(Pr_id in varchar2, p_Cursor out TCursor) is
v_SQL varchar2(1024);
begin
v_SQL := 'select * from users where pr_id=' || Pr_id;
open p_Cursor for
v_SQL;
end GetTableUsers;
end PkgTest;
/
mynewpc 2003-10-20
  • 打赏
  • 举报
回复
存储过程写错了。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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