procedure TForm1.BitBtn1Click(Sender: TObject);
var
  myspec:string;
  mywei:integer;begin
      myspec :=edit1.Text;
      mywei:=strtoint(edit2.Text);   with dm.inQuery  do
       begin       close;
       sql.Clear;       try
       sql.Add('insert into input.db (spec,wei) values ("myspec",mywei)');
       ExecSQL;
       close;
       edit1.Text:='';
       edit2.Text:='';
       except
       showmessage('请检查是否存在规格一致的情况:-)!');
       end;
       END;  这个表中有两个字段,一个是STRING型的SPEC,另一个是NUMBER型的WEI,一添加就出错高手给我看看!

解决方案 »

  1.   

    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      myspec:string;
      mywei:integer;begin
          myspec :=edit1.Text;
          mywei:=strtoint(edit2.Text);   with dm.inQuery  do
           begin       close;
           sql.Clear;       try
           sql.Add('insert into input.db (spec,wei) values (''myspec'','+mywei+')');//引号用错了
           ExecSQL;
           close;
           edit1.Text:='';
           edit2.Text:='';
           except
           showmessage('请检查是否存在规格一致的情况:-)!');
           end;
           END;
      

  2.   

    ADOquery1.SQL.Add('insert into input.db (spec,wei) values ('+''''+myspec+''''+','+mywei+')');
      

  3.   

    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      myspec:string;
      mywei:integer;
      sqlstr: string;begin
          myspec :=edit1.Text;
          mywei:=strtoint(edit2.Text);   with dm.inQuery  do
           begin       close;
           sql.Clear;       try
           sqlstr := 'insert into input.db(spec,wei) values(''' + myspec + ''',' + IntToStr(mywei) + ')';
           sql.Add(sqlstr);
           ExecSQL;
           close;
           edit1.Text:='';
           edit2.Text:='';
           except
           showmessage('请检查是否存在规格一致的情况:-)!');
           end;
           END;