很弱的问题?关于速度的问题?

nike_ljq 2003-12-31 12:18:46
bool findflag=0;
ADOQuery1->SQL->Text = "Select fileid from photoinfo";
ADOQuery1->Open();
while (!ADOQuery1->Eof&&(!findflag))
{
if(ADOQuery1->FieldByName("fileid")->Value==Edit_OpenID->Text)
{
findflag=1;
}
else {ADOQuery1->Next();}
}
if(findflag)
{....
}
我通过这个么一个办法来查找是否有这个id存在?会不会很慢啊,假如有1万条纪录!
谢谢了!

...全文
40 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
myy 2003-12-31
  • 打赏
  • 举报
回复
1..........................................................

ADOQuery1->SQL->Text = "Select fileid from photoinfo where fileid="+Edit_OpenID->Text;
ADOQuery1->open();

if(ADOQuery1->IsEmpty())
{
//没有记录
}

2..........................................................
ADOQuery1->SQL->Text = "Select count(*) cnt from photoinfo where fileid="+Edit_OpenID->Text;
ADOQuery1->open();

if(ADOQuery1->FieldByName("cnt")->AsInteger==0)
{
//没有记录
}
nike_ljq 2003-12-31
  • 打赏
  • 举报
回复
我最好如何来查找是否存在纪录了?谢谢了
我想这样是否可以了
ADOQuery1->SQL->Text = "Select fileid from photoinfo where fileid="+Edit_OpenID->Text;
ADOQuery1->open();
但是如何判断是否有记录返回了?谢谢了
BCB 2003-12-31
  • 打赏
  • 举报
回复
是的,不能一句一句的查找
goneaway1981 2003-12-31
  • 打赏
  • 举报
回复
既然直接用SQL,为什么还要自己再写那么多,画蛇添足。
同意二楼大哥!!!!
GoodAlan 2003-12-31
  • 打赏
  • 举报
回复
对对,用SQL语句去查会快的不必须所有记录进行比较

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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