为什么数据没有更改????

xiaodong2003 2003-05-13 11:36:21

DBGrid1->ReadOnly=false;
ADOQuerySearch->Edit();
ADOQuerySearch->FieldByName("JSKS")->AsString=Edit1->Text;
ADOQuerySearch->FieldByName("HZJSKS")->AsString=Edit2->Text;
ADOQuerySearch->Post();
//QuerySearch->Refresh();
我在edit1里修改数据后,执行上面代码,数据没有被更改。并且在执行Refresh时出现异常“缺少更新或刷新的键列信息”。还有在更改Edit1数据以前先更改DBGrid1中相同的数据时,再更改Edit1的数据,执行上面代码就可以改变了。谢谢各位大虾帮忙感激不禁。
...全文
80 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
krqii 2003-05-20
  • 打赏
  • 举报
回复
应该要把内存的东西放回去吧
Table组件用
Table->ApplyUpdates
ADO应该也有这一项:)
xiaodong2003 2003-05-19
  • 打赏
  • 举报
回复
up
xiaodong2003 2003-05-15
  • 打赏
  • 举报
回复
是啊,我也很奇怪的。直接更改edit1 post()后,dbgrid1的数据没有变。而如果先在dbgrid1中直接更改,再编辑edit1,post后数据就更改为edit1的数据了。是内部触发器的问题么?快吐血了,救命啊~~~
wyb_45 2003-05-15
  • 打赏
  • 举报
回复
ADOQuery需要写SQL语句
猎人66 2003-05-15
  • 打赏
  • 举报
回复
还有在更改Edit1数据以前先更改DBGrid1中相同的数据时,再更改Edit1的数据,执行上面代码就可以改变了。
???
yyfzy 2003-05-13
  • 打赏
  • 举报
回复
ADOQuerySearch->Post();
还没有真正把数据写到数据库,只有到事务提交(Commit)后数据才真正写到数据库。

另外ADOQuerySearch->Post();后断开数据库然后再连接,再打开表,这样也可以。但由于要重新连接数据库,所以不是好方法。

1,178

社区成员

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

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