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表设计就有问题呢?
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表设计就有问题呢?
DBGird连ADOQuery1
SQL select * from 图书ADOQuery2
SQL不填
procedure TForm1.Buttom1Click(Sender: TObject);
begin
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('insert into 图书');
ADOQuery2.SQL.Add('(名称)');
ADOQuery2.SQL.Add('Values('''+Edit1.Text+''');');
ADOQuery2.ExecSQL;
ADOQuery1.Active:=False;
ADOQuery1.Active:=True;
end;
可是还是跟楼主的情况一样!!!!!!
我的表没设主键