AdoQuery.Edit ;
AdoQuery.FieldByName('是否已发送').AsString :='是';
AdoQuery.FieldByName('发送时间').AsDateTime:=Date();
AdoQuery.Post ;执行以上操作,没有错误,而且在对应的DBGrid 上也显示了我修改过后的数据,可是在最后居然没有没有改动数据库中的数据我想这可能是设置了某个属性导致的,请问哪位有碰到过这种现象吗?请多多指点好吗?
AdoQuery.FieldByName('是否已发送').AsString :='是';
AdoQuery.FieldByName('发送时间').AsDateTime:=Date();
AdoQuery.Post ;执行以上操作,没有错误,而且在对应的DBGrid 上也显示了我修改过后的数据,可是在最后居然没有没有改动数据库中的数据我想这可能是设置了某个属性导致的,请问哪位有碰到过这种现象吗?请多多指点好吗?
你可以取消BatchUpdate模式,或者干脆新建一个AdoQuery使用它有默认属性。
adoquery1.prepared:=true;
或直接设为TRUE就行了.
“你的AdoQuery处在BatchUpdate模式,必须调用AdoQuery.UpdateBatch()才能完成更新。
你可以取消BatchUpdate模式,或者干脆新建一个AdoQuery使用它有默认属性。
”
AdoQuery.Post只是将改变存在内存中
AdoQuery.UpdateBatch()才会提交到数据库