B billxm Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-21 #1 如何将查询的多个记录进行编号(1,2,...),并说明有几个记录,现指的是第几个记录。在这个程序中,每个记录都含有图形,用image来显示的。
L lhxu Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-21 #2 就我个人理解, 用query查询出来后,返回一个数据集, 用recno可以得到当前记录号,recordcount返回记录数 好像不需要编号吧
C churchill Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-21 #3 支持lhxu的观点,用query查询recno表示查询结果集当前记录号,recordcount表示查询结果集记录数.
S Sachow Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-22 #4 var TotalRec, CurrentRec: Integer; begin TotalRec := Table1.RecordCount; // Table1: 你的数据表名称 CurrentRec := Table1.RecNo; //以下语句用于得知以上数值: MessageBox(0,PChar(Format('总共有%d条记录',[TotalRec])+ Format('当前是第%d条',[CurrentRec])),'', MB_ICONINFOMATION+MB_OK); end;
var TotalRec, CurrentRec: Integer; begin TotalRec := Table1.RecordCount; // Table1: 你的数据表名称 CurrentRec := Table1.RecNo; //以下语句用于得知以上数值: MessageBox(0,PChar(Format('总共有%d条记录',[TotalRec])+ Format('当前是第%d条',[CurrentRec])),'', MB_ICONINFOMATION+MB_OK); end;
H han Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-22 #5 {DEPHI5下调试通过} var a,b:integer; var c,d:string; begin table1.databasename:=THE DATABASENAME; table1.tabletype:=THE TABLETYPE; table1.tablename:=THE TABLENAME; a:=table1.recordcount; b:=table1.recno; c:='共有'+inttostr(a)+'条记录'; d:='当前指向第'+inttostr(b)+'条记录'; c:=c+d; showmessage(c); end;
{DEPHI5下调试通过} var a,b:integer; var c,d:string; begin table1.databasename:=THE DATABASENAME; table1.tabletype:=THE TABLETYPE; table1.tablename:=THE TABLENAME; a:=table1.recordcount; b:=table1.recno; c:='共有'+inttostr(a)+'条记录'; d:='当前指向第'+inttostr(b)+'条记录'; c:=c+d; showmessage(c); end;
D dblin Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-22 #6 我有一个办法: 1. 对Table 控件 按鼠标右键,加入字段。同时新加入一个计算字段 RecoNo 2.定义一个变量,ReNo 3.在表的BeforOpen 事件中初始化 ReNo:=0; 4.在表的OnCalcField 事件中 计算RecNo 的值 Begin ReNo:=ReNo+1; Table1ReNo.Values:=ReNo; end;
我有一个办法: 1. 对Table 控件 按鼠标右键,加入字段。同时新加入一个计算字段 RecoNo 2.定义一个变量,ReNo 3.在表的BeforOpen 事件中初始化 ReNo:=0; 4.在表的OnCalcField 事件中 计算RecNo 的值 Begin ReNo:=ReNo+1; Table1ReNo.Values:=ReNo; end;
F fx Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-22 #7 用recno,recordcount。 不过recno有局限,用Paradox肯定没问题,SQL server,Access的数据库就不能使用recno, 返回结果都是-1。 to dblin: 你的方法有问题,当数据集中的数据滚动时就会触发OnCalcField ,结果是计算字段 RecoNo不断变大。
用recno,recordcount。 不过recno有局限,用Paradox肯定没问题,SQL server,Access的数据库就不能使用recno, 返回结果都是-1。 to dblin: 你的方法有问题,当数据集中的数据滚动时就会触发OnCalcField ,结果是计算字段 RecoNo不断变大。
R Ridolph Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-22 #8 表中不单只有一个图形字段吧,设有一个关键字段为ID, select count(ID) From Table Where ... 来取得总记录数 这样比select * from ... 的recordcount要快得多(小数据没有 区别,大数据[十万以上])就立竿见影),因为图形字段为Blob型, 若BDE中Blob size太小,就会出问题了。 然后用select ID from ...来把结果依次扔到动态数组中去,以后 就判断那个ID在数组中位置既可.
表中不单只有一个图形字段吧,设有一个关键字段为ID, select count(ID) From Table Where ... 来取得总记录数 这样比select * from ... 的recordcount要快得多(小数据没有 区别,大数据[十万以上])就立竿见影),因为图形字段为Blob型, 若BDE中Blob size太小,就会出问题了。 然后用select ID from ...来把结果依次扔到动态数组中去,以后 就判断那个ID在数组中位置既可.
唐 唐晓锋 Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-22 #9 你可以把查询的结果到一个临时表中,这个临时表中有一个自动增加字段 不就行了
S SeaSky Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-21 #10 教你一个办法, 用TClientDateSet 连接数据库, 就可以使用 RecordCount 和 RecordNo; (无论你使用和种数据库!!)
笨 笨笨了 Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-21 #11 lhxu的说法只对了一半.用query查询出来后,返回一个数据集, recordcount可以返回记录数.但是,recno可能得不到当前的记 录号,这取决于索引字段与查询条件的关系.
G g622 Unregistered / Unconfirmed GUEST, unregistred user! 2000-01-18 #12 d5中增加计算字段,在ongettext中写dblin的东东.
S sonie Unregistered / Unconfirmed GUEST, unregistred user! 2000-01-19 #13 SeaSky,笨笨了说的对。否则当数据库为sql server 时recno=-1,可用TClientDateSet