关于ADOQuery使用的问题?

sygr 2005-08-03 02:21:51
如何能得到ADOQuery返回的值?sql命令是select count(*) from aaa。
...全文
174 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jafee 2005-08-05
  • 打赏
  • 举报
回复
ADOQuery1->Active = true;和ADOQuery1->Open();是一样的。
????
不是这样吧。 ADOQuery1->Active = true;是对于除select之外的DML的。
而你要select的话,应该用ADOQuery1->Open();
YoungMonkey 2005-08-03
  • 打赏
  • 举报
回复
堪误:
ADOQuery1->Active = true;和ADOQuery1->Open();是一样的。
你给的语句:select count(*) from aaa本来就是返回一个总记录数,要返回所有记录:
select * from aaa
kwokwinglau 2005-08-03
  • 打赏
  • 举报
回复
select count(*) from aaa。
本来就是只返回一条记录.
setdefault 2005-08-03
  • 打赏
  • 举报
回复
ADOConnection1->Connected = true;
ADOQuery1->Connection = ADOConnection1;
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT count(*) as Field1 FROM aaa");
ADOQuery1->Open();//Open()才能返回数据集
Caption = ADOQuery1->FieldValues["Field1"];
sygr 2005-08-03
  • 打赏
  • 举报
回复
我用了你的方法,但结果不对啊。不管表中有几条记录,显示出的都是一个结果。
YoungMonkey 2005-08-03
  • 打赏
  • 举报
回复
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if (! ADOConnection1->Connected)
ADOConnection1->Connected = true;
ADOQuery1->Connection = ADOConnection1;
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT count(*) FROM aaa");
ADOQuery1->Active = true;
Edit1->Text = ADOQuery1->Fields->Fields[0]->AsString;
}
wanshell 2005-08-03
  • 打赏
  • 举报
回复
用DataAccess的Fields属性。
setdefault 2005-08-03
  • 打赏
  • 举报
回复
select count(*) as field1 from aaa

1,178

社区成员

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

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