请教sql问题(80分)

  • 主题发起人 主题发起人 camc
  • 开始时间 开始时间
C

camc

Unregistered / Unconfirmed
GUEST, unregistred user!
我遇到了一个问题,我使用了insert into语句.
比如说
rocedure TForm1.Button1Click(Sender: TObject);
begin
with datamodule1 do
begin
clientdataset1.active;
clientdataset1.CommandText:='insert into b2 values('''+edit1.Text+''','''+edit2.Text+''','''+edit3.Text+''')';
clientdataset1.Execute;
end;
这样编译能成功.
但是向下面的在表名后面加上colum name就不行了.就报insert into语句语法错误.我使用access数据库.以前好像都成功了,数据类型也匹配.真是怪.
rocedure TForm1.Button1Click(Sender: TObject);
begin
with datamodule1 do
begin
clientdataset1.Close;
clientdataset1.CommandText:='insert into b2(a1,a2,a3) values('''+edit1.Text+''','''+edit2.Text+''','''+edit3.Text+''')';
clientdataset1.Execute;
end;
请问该怎么解决,我只有80分了^_^谢谢!


 
//下面的可以编译通过,但你要注意你的a1,a2,a3与你在edit1,edit2,edit3里输入的值的类型是否一致
with datamodule1 do
begin
clientdataset1.Close;
clientdataset1.CommandText := 'insert into b2(a1,a2,a3) values('
+ QuotedStr(edit1.Text) + ',' + QuotedStr(edit2.Text) + ',' + QuotedStr(edit3.Text) + ')';
clientdataset1.Execute;
end;
 
后退
顶部