读书人

insert 失败,该怎么处理

发布时间: 2012-02-09 18:22:27 作者: rapoo

insert 失败
procedure TForm1.Button1Click(Sender: TObject);
var
id,name,did:string;
begin
id := trim(edit1.Text);
name := trim(edit2.Text);
did := trim(edit3.Text);
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add( 'insert into employee values(:id,:name,:did) ');
ExecSQL;
end
end;

3个edit都有值,但为什么报错说插入NULL值(:id 为主键)?初次求解!

[解决办法]
procedure TForm1.Button1Click(Sender: TObject);
var
id,name,did:string;
begin
with ADOQuery1 do
begin
close;
SQL.Clear;
SQL.Add( 'insert into employee values(:id, ' ':name ' ',:did) ');
Parameters[0].Value=trim(edit1.Text);
Parameters[1].Value=trim(edit2.Text);
Parameters[2].Value=trim(edit3.Text);
ExecSQL;
end
end;

或者直接用SQL写吧,不设参数
[解决办法]
楼上正解

也可以使用类似 Parameters.by参数名[ 'id '].value 来赋值

其间加上异常判断 或者判断返回值 以确定插入成功
[解决办法]
SQL.Add( 'insert into employee values( '+trim(edit1.Text)+ ', '+trim(edit1.Text)+ ', '+trim(edit1.Text));

读书人网 >.NET

热点推荐