adoquery2.Close;
 str:=edit1.Text;
  i:=strtoint(edit2.Text);
str1:='insert into lname(tabid,HZname,Flag,Title) values(i,str,1,str)';
adoquery2.SQL.Text:=str1;
     adoquery2.Open;
     adoquery2.Append;怎么老说str1有错
难道我这样写是错误的吗,那么应该怎么写

解决方案 »

  1.   

    str1:='insert into lname(tabid,HZname,Flag,Title) values(i,str,1,str)';改成str1:='insert into lname(tabid,HZname,Flag,Title) values('+inttostr(i)
            +','+''''+str+''''+',1,'+''''str+''''+')';可能啰嗦点,不过你再执行SQL之前最好先showmessage(sql.text)一下,看看生成的SQL语句是否有问题
      

  2.   

    str1:='insert into lname(tabid,HZname,Flag,Title) values('+Edit2.Text+','''+Edit1.Text+''',1,'''+Edit1.Text+''')';
    怎么HZname和Title的值都是Str呢?
      

  3.   

    adoquery2.Close;
     str:=edit1.Text;
      i:=strtoint(edit2.Text);
    str1:='insert into lname(tabid,HZname,Flag,Title) values(i,str,1,str)';
    adoquery2.SQL.Text:=str1;
         adoquery2.ExecSql;//执行插入不返回结果集
      

  4.   

    str:=edit1.Text;
    str1:='insert into lname(tabid,HZname,Flag,Title) values(' + edit2.Text + ',''' + str + ''',1,''' + str + ''')';
    adoquery2.Close;
    adoquery2.SQL.Text:=str1;
    adoquery2.Execute;
      

  5.   

    //正解.
    procedure TForm1.Button1Click(Sender: TObject);
    var
      str,str1:string;
      i:integer;
    begin
      str:=edit1.Text;
      i:=strtoint(edit1.Text);
      str1:='insert into lname(tabid,HZname,Flag,Title) values('''+inttostr(i)+''','''+str+''','''+'1'+''','''+str+''')';
      showmessage(str1);
      adoquery2.Close;
      adoquery2.SQL.Clear;
      adoquery2.SQL.Text:=str1;
      adoquery2.ExecSQL;
    end;
      

  6.   

    可以这么写:
    with adoquery2 do
    begin
      close;
      sql.text:=' insert into lname(tabid,hzname,flag,title) values'+
                ' (:tabid,:hzname,:flag,:title)';
      Parameters.ParamByName('tabid').values:=edit2.text;
      Parameters.ParamByName(hzname).values:=edit1.text;
      Parameters.ParamByName(flag).values:=1;
      Parameters.ParamByName(title).values:=edit1.text;
      ExecSql;
    end;这样写简单,而且在数据方面性能也比其它方面的好。