读书人

关于DataSet返回当前行的有关问题

发布时间: 2013-10-04 21:41:43 作者: rapoo

关于DataSet返回当前行的问题
delphi 7.0
sql2008r2
BDE 连接引擎


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


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

那么如何能实现获取当前行呢。
ado的方法就不要说了
[解决办法]
如果你使用的TDataSet子类确实实现了recNo这个属性的话,你可以先执行Post,然后再进入Edit状态,再执行你提到的语句,就可以取到有效值了。

[解决办法]
在编辑前,将记录号保存在一个变量中。
var
Temp :integer;
begin
Temp := DataSet.RecNo;
DataSet.Edit;
DataSet.FieldByName('abc').AsInteger := Temp;
//......
DataSet.Post;
end;
[解决办法]
将DataSet的数据显示出来看看是否真的没有数据

读书人网 >.NET

热点推荐