首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

insert 失败,该怎么处理

2012-02-09 
insert 失败procedureTForm1.Button1Click(Sender:TObject)varid,name,did:stringbeginid:trim(edit1.T

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));

热点排行