1如何判断ADOQuery执行修改记录是否成功,2如何判断ADOQuery执行查询后是否查到符合条件的记录,标准的方法是什么

UFOBH 2005-12-11 02:12:05
各位老师给个提示,谢谢
1、如何判断ADOQuery执行修改记录是否成功;
TADOQuery *MyInsert=new TADOQuery(this);
MyInsert->Close();
MyInsert->Connection=DM1->ADOC1;
MyInsert->Active=false;
MyInsert->SQL->Clear();
MyInsert->SQL->Add("Update sc..Vip ");
MyInsert->SQL->Add("Set 激活=0");
MyInsert->SQL->Add(" Where vip_id='"+Trim(Edit1->Text)+"'" );
MyInsert->Prepared;
MyInsert->ExecSQL();
2、如何判断ADOQuery执行查询后是否查到符合条件的记录,标准的方法是什么
TADOQuery *MyQ1=new TADOQuery(this);
MyQ1->Close();
MyQ1->Connection=DM1->ADOC1;
MyQ1->SQL->Clear();
MyQ1->SQL->Add("Select * From sc..vip");
MyQ1->SQL->Add(" Where vip_id='"+Edit1->Text.Trim()+"'") ;
MyQ1->Prepared;
MyQ1->Open();
if(MyQ1->RecordCount==0)(这是我想出的一种方法,但感觉不标准)
{
Application->MessageBox("请核实号码是否存在!","提示",0+48+0);
return;
}
...全文
246 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
发表两个同样的问题
这个别帖将被我强制结帖
可惜我自己得不了分5555555555555555
lvjack 2005-12-12
  • 打赏
  • 举报
回复
我用的方法:
int cnt;
ADOconn1->Execute("update tb_info set …… where …… ",cnt);
if(cnt<1)
MessageBox(NULL,"数据库记录修改发生错误,请向提交错误报告!","提示",MB_OK|MB_ICONINFORMATION);
else
……
cnt就是sql执行后影响的数据的条数
CACACACACA 2005-12-12
  • 打赏
  • 举报
回复
关于第一问
ExecSQL()不是有个返回值吗?通过这个值来判断影响的行数.

关于第二问
TQuery->IsEmpty()的返回值,如果为空,则返回真.
wf2091139 2005-12-12
  • 打赏
  • 举报
回复
1、
...

...
try{
MyInsert->ExecSQL();
}catch(...){ ShowMessage("修改失败");}


2
...
...
if(MyInsert->Eof == MyInsert->Bof)
ShowMessage("没有符合条件的记录");



//发现你喜欢两个两个的问问题,而且还是两个一样的!
BCB2006 2005-12-11
  • 打赏
  • 举报
回复
1.用Enterprise Manager查看该表,或则
MyInsert->SQL->Clear();
MyInsert->SQL->Add("select * from sc..Vip ");
MyInsert->Prepared;
MyInsert->Open();

2.while( MyQ1->Eof)
{
ShowMessage("没有查找到记录");
}

1,178

社区成员

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

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