例:
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select count(*) from userlist ');
adoquery1.Open;
如何的到adoquery1查询出来的记录总数?
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select count(*) from userlist ');
adoquery1.Open;
如何的到adoquery1查询出来的记录总数?
ACount:Integer;
...
ACount:=adoquery1.fields[0].asInteger;
...或者
adoquery1.SQL.Clear;
adoquery1.SQL.Add( 'select * from userlist ');
adoquery1.Open;
ACount:=adoquery1.RecordCount;
adoquery1.fields[0].value 得到的值为‘21’而实际用SQL查询得到值为‘12’。
adoquery1.recordcount值得到的值为'21'
郁闷啊,今天一天为这个头痛啊!
var
i: integer
adoquery1.SQL.Clear;
adoquery1.SQL.Add( 'select count(*) as count_ from userlist ');
adoquery1.Open;
i:=adoQuery1.fieldbyname('count_').asInteger
如何的到adoquery1查询出来的记录总数?
adoquery1.RecordCount有可能出错的哦!我就遇到过的记录数为几条,但是adoquery1.RecordCount = -1;呵呵,但是我没有查到为什么会这样。
最好就是adoQuery1.fieldbyname( 'count_ ').asInteger ,或者用一个循环来得到。
var
Lv_Count : Integer;
begin
Lv_Count := 0;
if not adoQuery1.isEmpty then
begin
adoQuery1.First;
while not adoQuery1.eof do
begin
Lv_Count := Lv_Count + 1;
adoQuery1.next;
end;
end;
end;
支持 直接用adoquery1.RecordCount,没遇到过问题的!
不然adoquery1.RecordCount是不会有问题的
ADO的一些BUG会导致RecordCount等于-1,需要用最新的MDAC库
用你定义的变量来获得如:
var
a:integer;
begin
adoquery1.close
adoquery1.SQL.Clear;
adoquery1.SQL.Add( 'select count(*) from userlist ');
adoquery1.Open;
a:=adoquery1.fields[0].asinteger;
end;
var
i:integer;
begin
adoquery1.close
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from userlist ');
adoquery1.Open;
i:=adoquery1.fields[0].asinteger;
end;
var
s:String;
with adoquery1 do
begin
Close;
SQL.clear;
SQL.add('select count(*) as a from userlist');
Open;
end;
s:=adoquery1.FieldByName('a').asstring;
Showmessage(s);
不过听朋友说,adoquery.recordcount是很费资源的.
adoQuery.last;
adoQuery.frist;
adoQuery.RecordCount
没遇到过问题
adoquery1.RecordCount;
adoquery1.fields[0].value 得到的值为‘21’而实际用SQL查询得到值为‘12’。
adoquery1.recordcount值得到的值为'21' "你程序连接的数据库 和 你是实际sql查询的数据库 是不是不同啊!!!!!
怀疑
var
s:String;
with adoquery1 do
begin
Close;
SQL.clear;
SQL.add('select count(*) as a from userlist');
Open;
end;
s:=adoquery1.FieldByName('a').asstring;
Showmessage(s);这个都可以,我试了都行。
用RecordCount应该不对吧,如果不是-1就是1了,count(*)只返回一条的啊,又不是用
'select * from userlist'
查询的. 手头没有环境,不能测试.