AdoQuery的更新异常求救:当删除数据集为空后,在DbGrid中直接编辑,不能Post数据到后台数据库

chenchen_2011 2013-04-24 02:25:03
初始进入数据编辑窗体,AdoQuery查询回来的数据集为空,直接在DbGrid中编辑能够正常保存数据到数据库中

而当删除掉数据让当前AdoQuery为空再进行编辑时,在DbGrid中操作正常,但没有保存到后台数据库中去

如果有数据,进行编辑数据能更新到数据库中去,问题就出在把AdoQuery删除完后进行数据编辑就不能把数据更新到后台数据库中去

DBGrid5KeyPress的事件代码:
if key = #13 then
if wwDBGrid5.SelectedIndex < 1 then
wwDBGrid5.SelectedIndex := wwDBGrid5.SelectedIndex + 1
else
begin
if wwDBGrid5.datasource.dataset.state in [dsInsert, dsEdit] then
begin
if (trim(wwDBGrid5.datasource.dataset.FieldByName('Name').AsString) = '') then
begin
wwDBGrid5.SelectedIndex := 0; // 光标到下一条记录第1列位置//
EXIT;
end;
wwDBGrid5.datasource.dataset.FieldByName('PartyID').AsInteger := FPartyId;
try
wwDBGrid5.datasource.dataset.post;
except
showmessage('更新失败。');
exit;
end;
bChange := true;
wwDBGrid5.DataSource.DataSet.Append;
wwDBGrid5.SelectedIndex := 0; // 光标到下一条记录第1列位置//
wwDBGrid5.SetFocus;
end;
end;

程序跟踪,代码工作流程都正常,但就是更新不到数据库中去

删除数据行的代码是SQL执行
...全文
74 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
simonhehe 2013-04-24
  • 打赏
  • 举报
回复
如果你删除和读取不是同一个AdoQuery, 则需要在删除数据后, 重新open一下读取的AdoQuery

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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