关于DataSet返回当前行的问题

crazy_boom 2013-08-20 09:29:36
delphi 7.0
sql2008r2
BDE 连接引擎

DataSet.FieldByName('abc').AsInteger := DataSet.RecNo;


为什么得到的DataSet.recNo 的值都是-1 看了网上的帮助 说因为获取当前行时数据没有提交所以为-1

那么如何能实现获取当前行呢。
ado的方法就不要说了
...全文
121 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
将DataSet的数据显示出来看看是否真的没有数据
Oraclers 2013-08-20
  • 打赏
  • 举报
回复
在编辑前,将记录号保存在一个变量中。 var Temp :integer; begin Temp := DataSet.RecNo; DataSet.Edit; DataSet.FieldByName('abc').AsInteger := Temp; //...... DataSet.Post; end;
董董 2013-08-20
  • 打赏
  • 举报
回复
如果你使用的TDataSet子类确实实现了recNo这个属性的话,你可以先执行Post,然后再进入Edit状态,再执行你提到的语句,就可以取到有效值了。

2,507

社区成员

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

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