DBGird添加数据刷新问题
procedure TForm1.Buttom1Clicl(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into 图书');
ADOQuery1.SQL.Add('(名称)');
ADOQuery1.SQL.Add('Values('''+Edit1.Text+''');');
ADOQuery1.ExecSQL;
end;
名称为主键
可以把Edit1里的图书名称添加进图书表中名称列
但是加进去的时候DBGird不显示[DBGird连的是图书表]
我加个Button2想用来刷新DBGird内容
写了
ADOQuery1.Close;
ADOQuery1.Open;
或者
ADOQuery1.Active:=False;
ADOQuery1.Active:=True;
用来刷新
一刷它就说XXXXXXXXXX'违反了PRIMARY KEY 约束 'PK_图书'。
不能在对象'图书'中插入重复键。
可是我直接用Button1一个个加是没问题的
查看SQL里也有
就是DBGird里不会自动刷新
要重新运行程序DBGird才能显示新添加的图书名称
到底是那里错了呢?
是刷新语句错了
还是本身SQL表设计就有问题呢?