怎么把变量的值送到.sql里面
例如:
p1,p2:integer;
query:string;
query:='insert into table1 values(:p1,:p2);';
query1.sql.add(query);
怎么不对的了

解决方案 »

  1.   

    query1.sql.add('select & from tablename where field=query')
      

  2.   

    Query2.SQL.Clear;Query2.SQL.Add('INSERT INTO COUNTRY (NAME, CAPITAL, POPULATION)');
    Query2.SQL.Add('VALUES (:Name, :Capital, :Population)');Query2.Params[0].AsString := 'Liechtenstein';
    Query2.Params[1].AsString := 'Vaduz';
    Query2.Params[2].AsInteger := 420000;
    Query2.ExecSQL;以上代码来自Delphi帮助。你选中Query的Params属性,按F1就可以得到。
      

  3.   

    还要通过 params 来指派参数的类型,输入输出方向和值.
      

  4.   

    语句有问题
    query:='insert into table1 values(:p1,:p2)';
      

  5.   

    p1,p2:integer;
    query:string;
    query:='insert into table1 values(:p1,:p2);';
    query1.sql.add(query);
    query1.Params.ParmaByName('p1').value := p1;
    query1.Params.ParmaByName('p2').value := p2;
    query1.ExecSQL;
      

  6.   

    wanderung(扬清) : hhaibin(小海) 你们两个的不错,但是别人的也是对的
      

  7.   

    如果不想用Params,就直接加到语句中吧!
    Query1.SQL.Add('SELECT * FROM TableName');
    Query1.SQL.Add(' WHERE Field1 = '+IntToStr(P1));
    Query1.SQL.Add('   AND Field2 LIKE "'+ P1 + '"');
    Query1.SQL.Open;
      

  8.   

    hujianlinsoft(胡建林) 说得对,不过,要改一下:Query1.SQL.Add('SELECT * FROM TableName');
    Query1.SQL.Add(' WHERE Field1 = '+IntToStr(P1));
    Query1.SQL.Add('   AND Field2 ='''+ P1 + '''');
    Query1.SQL.Open;
      

  9.   

    guorui_wh(Re)的分析也有道理,其实用一个双引号和两个单引号都可以