一个字符串变量XL,现在我用Sql.ADD增加在SQL语句:Sql.ADD('Select * from XA05 where XA0501=XL')----其中XL是变量,在这条语句中无法被识别。也就是说想在字符串中使用变量。
请问我应该怎么做??

解决方案 »

  1.   

    XL -> :XL;
    然后在外面Parameters.ParaByName('XL').Value := XL;.....
      

  2.   

    可以具体点吗?
    我是这样写的:
    with Query_XA05 do
    begin
      Sql.ADD('Select * from XA05 where XA0501=XL')
      Open;
    end;我不知道Parameters.ParaByName('XL').Value := XL;放哪?
      

  3.   

    是这样的
    with Query_XA05 do
    begin
      Sql.ADD('Select * from XA05 where XA0501=:XL');
      Parameters.ParaByName('XL').Value := XL;
      Open;
    end;
      

  4.   

    如果字段XA0501 为字符类型,更正如下Sql.ADD('Select * from XA05 where XA0501='''+XL+'''')
    如果是数值型类型,更正为Sql.ADD('Select * from XA05 where XA0501='+XL)
      

  5.   

    query1.close;
    query1.sql.clear;
    query1.sql.add('select * from table1 where 字段=:A and 字段2=:B');
    query1.parambyname('A').asstring:=edit1.text;//注意类型的匹配
    query1.parambyname('B').asstring:=edit2.text;
    query1.prepare;
    query1.open;
      

  6.   

    str: temp;
    temp ;='Select* from XA05 where XA0501='+XL;
    Sql.ADD('temp')
      

  7.   

    用Format方法一样的Format('select * from table1 where 字段=%s and 字段2=%s', [A, B]);http://lysoft.7u7.net
      

  8.   

    可先实践一下:with Query_XA05 do
    begin
      Sql.ADD('Select * from XA05 where XA0501=:XL')
      query1.parambyname('XL').asstring:=edit2.text;
      Open;
    end;
      

  9.   

    Sql.ADD('Select * from XA05 where XA0501=XL')  改为:Sql.ADD('Select * from XA05 where XA0501='+QuotedStr(XL))
    应该也可以, 嗨,但是楼主好像已看不见了,呵呵!!