怎样能得到当前记录的位置??

gavinzhao 2003-07-19 02:47:13
我用TQUERY1,DATASOURCE1控件与数据库连接,然后用DBGRID1控件与DATASOURCE1连接显示记录集, 我用如下代码去显示当前记录的位置,可显示的总是-1.请问应该怎样才能得到正确的值.

procedure TForm1.Query1AfterScroll(DataSet: TDataSet);
begin
label1.Caption := inttostr(query1.RecNo );
{the value of RecNo is always -1}
end;
...全文
47 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolfilm 2003-07-21
  • 打赏
  • 举报
回复
这是由于delphi本身的bug!你当然得不到序号了!在bde开发数据库中如要取得纪录号!一般用clientdataset的recno就行了!
cxz7531 2003-07-19
  • 打赏
  • 举报
回复
用ADOQuery没有问题就行了,BDE里Bug很多的,何必钻牛角尖呢
gavinzhao 2003-07-19
  • 打赏
  • 举报
回复
我是说:在以上控件不变的情况下,怎样能够够得到任意一行的的位值的值.
我知道ADO控件可以, 难道你就没有问问为什么ADO可以而DBE就不可以呢(在SQL中)?
baguli 2003-07-19
  • 打赏
  • 举报
回复
笨人一个,为什么不试试我的方法再说呢?
gavinzhao 2003-07-19
  • 打赏
  • 举报
回复
我用的 D7 AND SQL2000,
雨后阳光2000 2003-07-19
  • 打赏
  • 举报
回复
Access就只能用Id来标识了。
雨后阳光2000 2003-07-19
  • 打赏
  • 举报
回复
你用的是Access吧,我刚试过就它不行
Eagle_Lone 2003-07-19
  • 打赏
  • 举报
回复
我用DELPHI7、XP、MSSQL实验,Label1.Caption:=inttostr(ADODataSet1.RecNo)可以正常显示记录位置
雨后阳光2000 2003-07-19
  • 打赏
  • 举报
回复
RecNo对Paradox数据库才有用,对SqlServer无效,永远是-1
谁说的?
我用的AdoTable,没有用Dbgrid,就行啊。
gavinzhao 2003-07-19
  • 打赏
  • 举报
回复
在以上控件不变的情况下,怎样能够够得到任意一行的的位值的值.
baguli 2003-07-19
  • 打赏
  • 举报
回复
换成ADO控件集
Newpank 2003-07-19
  • 打赏
  • 举报
回复
在 sql 中 只能 用 id 号了 。
李_军 2003-07-19
  • 打赏
  • 举报
回复
RecNo对Paradox数据库才有用,对SqlServer无效,永远是-1

2,497

社区成员

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

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