dbgrid录入数据的问题

geshuwei2006 2008-02-26 11:23:27
我用dbgrid录入一条数据后,显示无法为更新定位行,一些值可能已在最后一次读取后已更改。
找了半天都不知道哪出错了。之前我用的是sql数据库,能保存到数据库,一切正常。可是当我改成用access后就不行了
很是郁闷,希望高手指教。谢谢啦。
ADOQueryData.Append;
ADOQueryData.FieldByName('typeid').AsInteger := ADOTableType.FieldValues['typeid'];
ADOQueryData.Post;
...全文
145 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ascn 2008-03-03
  • 打赏
  • 举报
回复
我的看法是:
Access不是如MSSQL那样缺省有事务的。Access的更新是立即生效的,因此,你不需要再用Post,只需要改变字段值以后,将当前记录定位改变就行了。你可以把ADOQueryData.Post;改成ADOQueryData.Last;
sz9214e 2008-03-02
  • 打赏
  • 举报
回复
应该是ADOQueryData中缺乏主键或唯一索引起致。
bear7717 2008-03-02
  • 打赏
  • 举报
回复
学习下。呵呵
dl110 2008-02-27
  • 打赏
  • 举报
回复
typeid列被设置为主键,或允许索引且索引类型为:有(无重复);而楼主提交的值已经存在。

2,507

社区成员

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

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