为什么我所有记录的RecNo都是-1啊? 我用的是query控件,查询后结果集的RecNo都是-1,但是RecCount是对的郁闷啊,不知道怎么搞的,高手请指点啊! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 RecNo是一个已经淘汰,只是为了提供兼容而存在的属性。最好不要使用。数据集里的数据和数据库里的数据一样,行之间本身是没有“顺序”这个概念的,你要使用,就最好还是自己手工排序,然后选用相应的行 RecNo是当前记录的位置你在没选中的时候当然为-1并且会随时改变而RecCount是记录的总条数,是不变的 Query组件中的RecNo是否可用,取决于后台数据库。具体请看Delphi的在线帮助。不过,AdoQuery组件的RecNo永远可用。建议换用Ado方式访问数据库。 BDE中返回的RecNo是-1。用ADO吧。 我还是坚持我自己的看法,不推荐使用这个属性。因为从本质来说,数据的顺序是可变的,不是数据的“属性”。举例来说,你的数据集使用了这样的序,而其他人可能重新排序了。你还怎么确定recno? 使用ADO时,当你处于最后一行再Next的时候,RecNo就是-1。查询完后,Query正处于这个状态,先First一下,就能看到RecNo=0了。 数据库中含有image(MSSQL)或者其他存储大数据的字段(mysql的wav)会造成这种情况的发生解决办法,下last一下,然后在First一下,ok 看错了,我看成RecCount取不到 你还是用RecCount判断吧试了一下用ADO和BDE的procedure TForm1.Button1Click(Sender: TObject);begin ADOQuery1.SQL.Add('select * from ptatt'); ADOQuery1.Open; ShowMessage(IntToStr(ADOQuery1.RecNo)); ADOQuery1.Next; ShowMessage(IntToStr(ADOQuery1.RecNo));end;结果:1 2procedure TForm1.Button2Click(Sender: TObject);begin Query1.SQL.Add('select * from ptatt'); Query1.Open; ShowMessage(IntToStr(Query1.RecNo)); Query1.First; Query1.Next; ShowMessage(IntToStr(Query1.RecNo));end;结果:-1-1 我想用delphi讲EXCEL电子表格的数据导入access数据库里,客户当EXCEL表的记录数大于255时提示错误,无法导入,怎么解决? D区精神病院-纯属虚构 好控件贡献给大家,表格表单综合解决方案 〓〓如何控制不允许向EDIT中输入全角字符? 急!!!F1book控件问题,显示乱码 oracle数据库升级(7->8),出现的问题 请教如何用TIdSMTP发送邮件? 当我的鼠标点击第3行4列时,我怎么得到3行8列,也就时同行的任意列的值? 用TADoDateSet如何得到表中最大字段值? 字符串操作 如何实现在dbgrid里加个复选框 问题
数据集里的数据和数据库里的数据一样,行之间本身是没有“顺序”这个概念的,你要使用,就最好还是自己手工排序,然后选用相应的行
你在没选中的时候当然为-1
并且会随时改变而RecCount是记录的总条数,是不变的
不过,AdoQuery组件的RecNo永远可用。建议换用Ado方式访问数据库。
BDE中返回的RecNo是-1。用ADO吧。
因为从本质来说,数据的顺序是可变的,不是数据的“属性”。举例来说,你的数据集使用了这样的序,而其他人可能重新排序了。你还怎么确定recno?
查询完后,Query正处于这个状态,先First一下,就能看到RecNo=0了。
解决办法,下last一下,然后在First一下,ok
begin
ADOQuery1.SQL.Add('select * from ptatt');
ADOQuery1.Open;
ShowMessage(IntToStr(ADOQuery1.RecNo));
ADOQuery1.Next;
ShowMessage(IntToStr(ADOQuery1.RecNo));
end;结果:
1
2procedure TForm1.Button2Click(Sender: TObject);
begin
Query1.SQL.Add('select * from ptatt');
Query1.Open;
ShowMessage(IntToStr(Query1.RecNo));
Query1.First;
Query1.Next;
ShowMessage(IntToStr(Query1.RecNo));
end;结果:
-1
-1