bmcode是一个变量
ADOQuery1.SQL.Add ( 'select * from bztab where 代码 like " bmcode %"') ;
对不对。正确的应怎样写

解决方案 »

  1.   

    看看delphi自己的例子,就是这样写的,没事多按按F1有好处
    Query2.SQL.Clear;Query2.SQL.Add('INSERT INTO COUNTRY (NAME, CAPITAL, POPULATION)');
    Query2.SQL.Add('VALUES (:Name, :Capital, :Population)');Query2.Params[0].AsString := 'Lichtenstein';
    Query2.Params[1].AsString := 'Vaduz';
    Query2.Params[2].AsInteger := 420000;
    Query2.ExecSQL;
      

  2.   

    就是用字符串连接运算,假定你的变量是字符型的,否则自己转。
    ADOQuery1.SQL.Add ( 'select * from bztab where 代码 like '+bmcode+'%') ;
      

  3.   

    Sorry,打错了。假定你的变量是字符串型的
      

  4.   

    bmcode为string时:
    ADOQuery1.SQL.Add ( 'select * from bztab where 代码 like '+ ''''+bmcode+ '%'+'''')
    bmcode为integer时:
    ADOQuery1.SQL.Add ( 'select * from bztab where 代码 like '+ inttostr(bmcode)+ '%')
      

  5.   

    要在sql语句中使用参数前面加上":"冒号就可以了,然后给参数赋值,就像fansofamei(小天笑)说的.
      

  6.   

    ADOQuery1.SQL.Add('select * from bztab where 代码 like :aaa');
    这样写也不对呀
      

  7.   

    ADOQuery1.SQL.Add('select * from bztab where 代码 like ''%bmcode%'' ');