我有一个MainForm,上面有两个按钮,第一个按钮是弹出一个Form,可以在几个Edit里输入数据,然后点确定就可以更改数据库了,另一个按钮也弹出一个Form,有个DBGrid,显示数据库中的表。现在的问题就是:用第一个Form来更改数据后,再打开第二个Form,里面的DBGrid的数据不能显示更改后的数据,还是更改前的数据;还有就是第一个Form里的Edit控件的数据是用数据库里的数据初始化的,我在DBGrid里更改数据后,再打开第一个Form,里面的数据还是原来的。这些情况要重新编译程序才会显示更改后的数据...谁有什么办法啊?
如果是query,打开窗体的时候重新查询一下即可
如果是table的话,先关闭以下,然后再打开即可~~或者直接dbgrid1.DataSource.DataSet.Refresh;
procedure TForm2.FormCreate(Sender: TObject); (放DBGrid的Form)
var
sql_query:string;
with sncDM.DataModule1.sncQuery do
begin
Close;
sql_query:='select * from ...';
Sql.Add(sql_query);
try
Open;
except
end;
end;
end;
我在用第一个Form改完数据后,再打开第二个Form,不是修改后的数据,还要在哪增加什么样的代码?
sql_query:string;
with sncDM.DataModule1.sncQuery do
begin
Close;
sql_query:='select * from ...';
Sql.Add(sql_query);
try
Open;
except
end;
end;
这个放在form.onshow事件里