我的数据库连接用的是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啊,不需要注册的,偶工程要的急啊 拜托各位了。
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啊,不需要注册的,偶工程要的急啊 拜托各位了。
解决方案 »
- 修改数据库时数据出错
- 数据库表问题
- 关于延时运行
- 如何在系统内核级截获并修改键盘按键
- 不难也不简单的问题:如何求“123456789”中所有字节的和的最低8位(并转换成字符)。
- 在mdi程序中 怎样获得所有当前打开的子窗口,并且依次获得窗口上的控件。
- 三层结构中主从表更新的问题
- 单击dbgrid的title,按标题排序,我的语句不行,why??????高分赠!!!!
- 自绘控件
- Alpha型和Number型的冲突。
- image1载入大图片时如果stretch=true,image1会显示出大图片的缩图,那么如何将这个缩图镜像复制一份赋值给另一个image2的picture呢?
- 控件拖动的奇怪的问题
/****************************************************************
3、得到接收的数据(不是明细)
函数名:getInceptData
参 数:strCheckDate 接收的日期(格式:YYYY-MM-DD)
strCheckState 接收数据状态(0、未接收;1、已经接收,2、所有;)
csrCursor 返回数据游标
返 回:返回数据游标
****************************************************************/
procedure getInceptData(
strCheckDate in varchar2,
strCheckState in varchar2,
csrCursor out cursorCommon
);
ComboBox.Items
Memo.Lines
等等