各位大虾们,偶碰到有个很郁闷的问题啊!

foxmen 2006-08-08 05:32:48
我的数据库连接用的是dp7自带的dbexpress驱动,数据库连接没问题,可是但代码调用后台的包过程的时候,报错误,错误原因是:lists out of bound (0) 。。。

以下是我的代码,很精简的。拜托各位大虾看看!

//数据库连接
function TDBManager.setDataOneConnect(strServer,strUser,strPassword:string):boolean;
begin
try
with sqlconnCommon do
begin
LoginPrompt:=False;
ConnectionName:='hnfs';
LibraryName := 'dbexpora.dll';
GetDriverFunc := 'getSQLDriverORACLE';
DriverName:='Oracle';
VendorLib:='oci.dll';
Params.Clear;
Params.add('Multiple Transaction=true');
Params.Add('User_Name='+strUser);
Params.Add('Password='+strPassword);
Params.Add('Database='+strServer);
Open;
end;
result:=true;
except
result:=false;
end;
end;

//得到接收数据游标
function TDBManager.getInceptDataSet(strDate,strState:string):TSimpleDataSet;
var
sspData:TSQLStoredProc;
begin
try
sspData:=TSQLStoredProc.Create(nil);
sspData.SQLConnection:=sqlconnCommon;
sspData.Close;
sspData.Params.Clear ;
sspData.PackageName:='IncomeManger';
sspData.StoredProcName:='getInceptData';
sspData.Params.CreateParam(ftString,'strCheckDate',ptInput);
sspData.Params.CreateParam(ftString,'strCheckState',ptInput);
sspData.Params.CreateParam(ftCursor,'csrCursor',ptOutput);
sspData.Params.ParamByName('strCheckDate').Value:=strDate;
sspData.Params.ParamByName('strCheckState').Value:=strState;
sspData.ParamCheck:=true;
sspData.Open;
result:=TSimpleDataSet(sspData);
except
result:=nil;
end;
end;

报错误的位置在“sspData.Open;”,我想不通啊,代码没错误啊。。。

还有,各位大虾有没有高版本的dbexpoda.dll啊,不需要注册的,偶工程要的急啊。。。 拜托各位了。
...全文
202 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
foxmen 2006-09-30
  • 打赏
  • 举报
回复
各位大哥,不好意思,小弟最近比较忙,没有及时揭贴,抱歉!
erhan 2006-08-09
  • 打赏
  • 举报
回复
sspData.Connected := True;
试试看
foxmen 2006-08-09
  • 打赏
  • 举报
回复
SQLConnection.active没有这个属性啊,再说连接也打开了,能够自动判断包、过程、参数是否正确的。
zhangxuyu1118 2006-08-09
  • 打赏
  • 举报
回复
//得到接收数据游标
function TDBManager.getInceptDataSet(strDate,strState:string):TSimpleDataSet;
var
sspData:TSQLStoredProc;
begin
try
sspData:=TSQLStoredProc.Create(nil);
sspData.SQLConnection:=sqlconnCommon;
if not sspData.SQLConnection.active then
sspData.SQLConnection.open;
sspData.Close;
...
zhangxuyu1118 2006-08-09
  • 打赏
  • 举报
回复
可能是参数条目数量不匹配
foxmen 2006-08-09
  • 打赏
  • 举报
回复
为什么啊,为什么没有人来啊,来人啊,分不够,我再开一个啊!
FigoZhu 2006-08-08
  • 打赏
  • 举报
回复
不懂,帮顶,接分。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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