更新主键的一个问题
用ado,将LockType设为ltBatchOptimistic为批处理方式
有一主键,假设名为:编号,字段类型为sql server中的自动增加列。
现在问题是该编号字段是不能修改的,
adods.FieldByname('编号').asfloat := -1; //出错,只读字段
adods.FieldByname('编号').ReadOnly := false;
adods.Edit;
adods.FieldByname('编号').asfloat := -1;
adods.Post;
showmessage(format('%f', [adods.FieldByName('编号').asfloat])); //nnd, 竟然自动变为0了
大家明白我的意思了吗?这个主键字段我只是想在客户端修改而已,并不更新回数据库,用第三方的内存数据集控件不太方便。纳闷,这个问题一直都没解决!