向CYTOWN,CAKK,CHARLES,CJ ,老莫 求助(50分)

  • 主题发起人 主题发起人 m&m
  • 开始时间 开始时间
M

m&m

Unregistered / Unconfirmed
GUEST, unregistred user!
如何开发或在哪寻找这这样的控件?
显示当前记录数和总共记录数的控件
 
这也要控件来完成??????
 
呵呵, 用query 来count两次就可以了:-)
遍历如果数据不多也可以使用.
 
我想做这样的控件引用的时候就省事了。

cytown:如何遍历或COUNT?
 
如果是本地库倒还有意义,如果是Sql Server就有点多此一举了。
 
i: integer;

i:=0;
with table1 do begin
First;
While not eof do
begin
inc(I);
next;
end;
end;
end;

这个是算法,用RecordCount也能很方便完成。
 
to corba:

此话怎讲 ??????
 
query1.sql.text:='select count(*) as cnt_all from table1';
query1.active:=true;
showmessage('total records is '+inttostr(query1.fieldbyname('cnt_all').asinteger));
 
dataset.recordcount(query and table..)
 
I mean "query", "table" etc all dataset object can use this method.
 
to charles:

如何得到当前的记录数 ?
 
>>如何得到当前的记录数
是当前的记录号吧?

如果你用关系型数据库,请忘掉"记录号"这个概念,因为不支持.
你可以把你的想法说出来,肯定有很多别的方法可以实现.
 
对Locall Database 如dbase paradox 记录数可取recno
对SQL Server, Sybase则不行,recno为0,这是对
“如果是本地库倒还有意义,如果是Sql Server就有点多此一举了”的解释
总记录数可取recordcount
 
dataset.RecNo
 
呵呵,怎么求救对象全是C家的?
全说完了,我没的说了,总结:
Query/Table.recordcount 可以得到记录总数
Query/Table.RecNo 得到当前记录号//未必有效

i := 1;
tmp := table1.fields[0].value;//should be key
table1.disablecontrols;
table1.top;
while(table1.fields[0].value <> tmp) do
begin
table1.next;
inc(i);
end;
table1.enablecontrols;
 
既麻烦又保险的方法! :)
 
可以创建一个新的纪录号字段
没有测试过,不知道是否可行
xixi
 
对SQL Server类型的数据库,
一般还是别用什么记录号记录总数之类的东西了,
比较麻烦,效率也不高,这个数据也没什么太多价值。
如果实在要,也可加一个冗余字段,内容为1,
用该字段的累加就可得到记录总数,
该字段之前记录的累加就可得到所谓的记录号.
 
我还没走:)
amo:
这样效率也不高,如果中间删除了一个记录,那么号码就要全部改一次:(
 
呵呵,
我不是说值为1吗?
 
后退
顶部