在adoquery控件中想引用sql语句为
insert into table1 (field1,field2) values (value1,value2);
其中value1,value2为变量,请问用query1.sql.add('????');怎么写???
谢谢!!!

解决方案 »

  1.   

    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('insert into table1 (field1,field2) values (:value1,:value2)');
    ADOQuery1.Parameters.ParamByName('value1').Value := 'abc';
    ADOQuery1.Parameters.ParamByName('value2').Value := '123';
    ADOQuery1.ExecSQL;
      

  2.   

    query1.sql.add('insert into table1 (field1,field2) values (:value1,:value2)');
    query1.ParambyName('value1').as.. :=...
    这样写就行了
      

  3.   

    如果Field1 和2 是字符型
    query1.sql.add('insert into table1 (field1,field2) values ('''+value1+''','''+value2+''')');
    如果是Field1 和2 是整型
    query1.sql.add('insert into table1 (field1,field2) values ('+inttostr(value1)+','+inttostr(value2)+')');
      

  4.   

    adoquery1.SQL.add('insert into table1 (field1,field2) values ('
                     + value1+','+ value2 + ')';
    如果他们是char类型的 :adoquery1.SQL.add('insert into table1 (field1,field2) values ('''
                     + value1+''','''+ value2 + ''')';
      

  5.   

    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('insert into table1 (field1,field2) values (:value1,:value2)');
    ADOQuery1.Parameters.ParamByName('value1').Value := 'abc';
    ADOQuery1.Parameters.ParamByName('value2').Value := '123';
    ADOQuery1.ExecSQL;
      

  6.   

    adoquery1.SQL.add('insert into table1 (field1,field2) values ('
                     + value1+','+ value2 + ')';
    如果他们是char类型的 :adoquery1.SQL.add('insert into table1 (field1,field2) values ('''
                     + value1+''','''+ value2 + ''')';这样写好一点
      

  7.   

    tmpSQL:=Format('insert into tabel1 (field1,field2) value (%s,%d)',[tmpString,tmpInteger]);
    with adoquery1 do
    begin
     Active:=False;
     Sql.clear;
     Sql.Add(tmpSQL);
     Active:=True;
    end;