下面是我写的添加代码,当我点了添加以后,dbgrid成为空白,非要退出再重新进才能看到内容,请问是什么原因,我想要的效果是,点添加后马上就能再dbgrid中显示出来
var
tt:string;
begin
if edit6.Text='' then
showmessage('没有内容需要保存!')
else
begin
tt:=datetostr(datetimepicker1.date);
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('insert into tj(rq,jth,bc,ygbh1,xm1,ygbh2,xm2,hpbh,dz,bzcl,ybzcl,ddh,yps,hzyy,ylyy,jqyy,rwyy,blp,dehj,jfzl,sjyl,sjjf)');
adoquery1.SQL.Add('values('''+tt+''','''+edit1.text+''','''+combobox1.text+''','''+edit2.text+''','
+''''+edit3.text+''','''+edit4.text+''','''+edit5.text+''','''+edit6.text+''','''+edit7.text+''','''+edit8.text+''','
+''''+edit9.text+''','''+edit10.Text+''','''+edit11.text+''','''+edit12.text+''','''+edit13.Text+''','''+edit14.Text+''','
+''''+edit15.Text+''','''+edit16.text+''','''+edit17.text+''','''+edit18.text+''','''+edit19.text+''','''+edit20.text+''')');
ADOquery1.Execsql;
var
tt:string;
begin
if edit6.Text='' then
showmessage('没有内容需要保存!')
else
begin
tt:=datetostr(datetimepicker1.date);
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('insert into tj(rq,jth,bc,ygbh1,xm1,ygbh2,xm2,hpbh,dz,bzcl,ybzcl,ddh,yps,hzyy,ylyy,jqyy,rwyy,blp,dehj,jfzl,sjyl,sjjf)');
adoquery1.SQL.Add('values('''+tt+''','''+edit1.text+''','''+combobox1.text+''','''+edit2.text+''','
+''''+edit3.text+''','''+edit4.text+''','''+edit5.text+''','''+edit6.text+''','''+edit7.text+''','''+edit8.text+''','
+''''+edit9.text+''','''+edit10.Text+''','''+edit11.text+''','''+edit12.text+''','''+edit13.Text+''','''+edit14.Text+''','
+''''+edit15.Text+''','''+edit16.text+''','''+edit17.text+''','''+edit18.text+''','''+edit19.text+''','''+edit20.text+''')');
ADOquery1.Execsql;
datasource.dataset:=adoquery1;看看你的grid的datasource属性值不是已经指定datasource
。。
dataset.post;
with Adoquery1 do
begin
close;
Sql.clear;
sql.add(select * from tj);
open;
end;