AdoQuery的更新异常求救:当删除数据集为空后,在DbGrid中直接编辑,不能Post数据到后台数据库
初始进入数据编辑窗体,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执行