用ADOQuery查询数据,查询语句已写在ADOQuery的SQL中,我采用了变量查询,当我在Paramenters中设置DateType 与Value时,整数值能通过,但用字符值时,却不能通过,总是说语法错误:Line1:Incorrect syntax near。

解决方案 »

  1.   

    ADOQuery1.close;
    ADOQuery1.Parameters.ParamValues['Myparam']:= 'test';
    ...
    ADOQuery1.open;一样的赋值,可以的。
      

  2.   

    ADOQuery1.close;
    adoquery1.clear;
    adoquery1.add.sql:='select * from table where columnname=:myparam'
    ADOQuery1.Parameters.ParamValues['Myparam']:= 'test';
    ADOQuery1.open;
      

  3.   

    但我已在DECLARE ADOQuery1设置了变量,用以接收ADOQuery1.Parameters.ParamValues['Myparam']:= 'test';值,语句:
    @programStr varchar(30)
    SET @programStr = :programStr如果不设置DateType 与Value时,则报错说:Parameter对像被不正确地定义。提供凶不一致或不完整的信息。有其他方法能传入参数,但不一定要用我的方法吗?
      

  4.   

    把Adoquery1的paramcheck属性设为false试一下,应该没有问题
      

  5.   

    ADOQuery1.close;
    adoquery1.clear;
    adoquery1.SQL.Add('select * from table where columnname=:myparam');
    ADOQuery1.Parameters.ParamByName('Myparam').DataType:=ftString;//可要可不要
    ADOQuery1.Parameters.ParamByName('Myparam').Value:= 'test';
    ADOQuery1.open;