一个c#调用存储过程的问题!

jackqq 2012-06-28 10:47:22
大家好,现在创建了一个oracle包 DotNet如下:

create or replace package DotNet is

-- Author : good_hy
-- Created : 2004-12-13 13:30:30
-- Purpose :

TYPE type_cur IS REF CURSOR; --定义游标变量用于返回记录集

PROCEDURE DotNetPagination(
Pindex in number, --分页索引
Psql in varchar2, --产生dataset的sql语句
Psize in number, --页面大小
v_cur out type_cur --返回当前页数据记录
);

end DotNet;


然后有一个包体:

create or replace package body DotNet is

--***************************************************************************************

PROCEDURE DotNetPagination(

Pindex in number,
Psql in varchar2,
Psize in number,
v_cur out type_cur ---记录总数

)
AS

v_sql VARCHAR2(1000);
v_count number;
v_Plow number;
v_Phei number;

Begin
------------------------------------------------------------取分页总数
v_sql := 'select count(*) from (' || Psql || ')';
execute immediate v_sql into v_count;

------------------------------------------------------------显示任意页内容

v_Phei := Pindex * Psize + Psize;
v_Plow := v_Phei - Psize + 1;

--Psql := 'select rownum rn,t.* from cd_ssxl t' ; --要求必须包含rownum字段

v_sql := 'select * from (' || Psql || ') where rn between ' || v_Plow || ' and ' || v_Phei ;

open v_cur for v_sql;

End DotNetPagination;
end DOtnet;

但是我在程序里面调用这个包的存储过程的时候一直报:
pls-00201:dotnet不是过程或尚未定义
pls--00201:statment ignored;


知道的帮忙一下,谢谢。
...全文
51 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
H_Gragon 2012-06-28
  • 打赏
  • 举报
回复
oracle不太懂,我给你个sql的你可以借鉴一下:
cmd.CommandType = CommandType.StoredProcedure;//指定cmd的类型为存储过程

cmd.CommandText = "addwarehouse";//你数据库中存储过程的名称!
cmd.Parameters.Clear();
cmd.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = name;
cmd.Parameters.Add("@Address", SqlDbType.NVarChar, 100).Value = Address;
cmd.Parameters.Add("@Telephone", SqlDbType.NChar, 10).Value = Telephone;
cmd.Parameters.Add("@Leader", SqlDbType.NChar, 10).Value = Leader;
int d = dataaccess.ExecuteSQL(cmd);
if (d > 0)
{
return true;
}
else
{
return false;
}

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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