我想在DBGrid中双击一项记录后通过调用如下自定义过程来将修改的数据提交到数据库中
可是程序执行后数据库中的数据并没有改变,为什么?
procedure TForm1.MyDblClick;
begin
if dbgrid1.Fields[4].AsString<>'Yes' then
begin
if checkinput() then
begin
dbgrid1.Columns.Items[4].Color:=clwhite;
with dbgrid1.DataSource.DataSet do
begin
edit;
gotobook(pointer(dbgrid1.SelectedRows.items[0]));
edit;
fieldByName('HasPic').AsString:='Yes';
dbgrid1.Fields[4].Asstring:='Yes';
post;
end;
AddToDB(1);
end;
end;
end;
可是程序执行后数据库中的数据并没有改变,为什么?
procedure TForm1.MyDblClick;
begin
if dbgrid1.Fields[4].AsString<>'Yes' then
begin
if checkinput() then
begin
dbgrid1.Columns.Items[4].Color:=clwhite;
with dbgrid1.DataSource.DataSet do
begin
edit;
gotobook(pointer(dbgrid1.SelectedRows.items[0]));
edit;
fieldByName('HasPic').AsString:='Yes';
dbgrid1.Fields[4].Asstring:='Yes';
post;
end;
AddToDB(1);
end;
end;
end;
SQL为select * from mytable
ADOQuery1是打开的没错,我在另外的一个程序中把这个ADOQuery以及DBGrid COpy到一个新的程序中将edit改为insert就能进行数据库添加,可是就是在edit中不能修改。