大家好..有个 TADOQUERY的问题.(100分)

  • 主题发起人 主题发起人 sunwork
  • 开始时间 开始时间
S

sunwork

Unregistered / Unconfirmed
GUEST, unregistred user!
我有个查询是用TADOQUERY的. ..在程序中动态指定SQL语句.
然后打开...
但是有可能查询的结果是空的..,我捕捉了这个错误以后,想把这个TADOQUERY关闭.但是无法关闭.
这样导致程序出错,"出现BOF或EOF有一个为真,或者当前记录已经删除,所需要的操作要求一个当前记录.",以后的查询就无法做,重新来也不可以.
怎么处理这个问题?
try
{
messagebox_form->Show();
messagebox_form->STMessage->Caption = " 正在打开个人信息表,请稍候...";
Application->ProcessMessages();
// ShebaoData->ADOQPerson_detail->Active=False;
ShebaoData->ADOQPerson_detail->Close();
ShebaoData->ADOQPerson_detail->SQL->Clear();
ShebaoData->ADOQPerson_detail->SQL->Add(SQL);
ShebaoData->ADOQPerson_detail->Open();
if (ShebaoData->ADOQPerson_detail->Eof == true)
{
messagebox_form->Close();
Application->MessageBox("没有找到任何记录.", "提示信息", MB_OK);
ShebaoData->ADOQPerson_detail->Close();
(执行上面CLOSE出现BOF或EOF有一个为真,或者当前记录已经删除,所需要的操作要求一个当前记录."的错误.)
}
}
catch( ... )
{
messagebox_form->Close();
Application->MessageBox("打开个人信息表失败.,没有找到任何记录.", "提示信息", MB_OK);
ShebaoData->ADOQPerson_detail->Close();
}
}
__finally
{
messagebox_form->Close();
}
 
下面可行:
if adoquery.recordcount<>0
begin
//正常
end
else
begin
//没有查询到结果
showmessage();
exit;
end;
 
安装补丁
up1
up2
 
你需要ADOEXPRESS的补丁
 
打好补丁,然后判断表的记录数是否为0!
 
TADOquery可以用recordcount来返回查询到的记录数吗?
 
RECORDCOUNT好像会出现数量不准的现象。
 
怎么还是这种问题,下载补丁:
ftp://ftpc.borland.com/pub/delphi/devsupport/updates/delphi5/D5EntUpdate.exe
ftp://ftpc.inprise.com/pub/delphi/devsupport/updates/adoexpress/d5adoupdate2.exe
序列号在以下两个中找:
555-555-5555 9ex0-91x0
SKI-HD3-C139 92x0-92x1
 
你用的是CBuilder,所以你应该升级对应于CB的补丁1和2
 
注册码不行....我都尝试过了.
原来我用的D版,注册码111-111-1111,4eb1-2301.但是这样不可以.
各位大哥有什么方法没有?请帮忙.
 
各位大爷,有C++BUILDER 5 的补丁的注册码吗?先谢谢了..各位,请帮帮忙吧.等用.非常急啊..
 
100-001-2936
d4x9-23x0
 
打上升级包就OK。
bcb 5得升级包
ftp://ftpc.borland.com/pub/bcppbuilder/devsupport/patches/bcpp5/BCB5EntUpdate1.exe
ftp://ftpc.borland.com/pub/bcppbuilder/devsupport/patches/bcpp5/BCB5ADOUpgrade1.exe
注册码:
1111-1111-111
4eb1-2301
输入后,可删除第二行得最后一个1
 
后退
顶部