ADOQuery与Query的使用有什么区别呢?我用同样的sql语句,在Query下好使,但在ADOQuery下,老提示‘语法错误或访问冲突’,请问是咋回事!
还有,在Query下可以看到参数,而在ADOQuery下看不到参数,请问是咋回事!

解决方案 »

  1.   

    adoquery1.Close ;
      adoquery1.SQL.Clear ;
      adoquery1.SQL.Add('select * from t_item where fitemclassid=:itt');
      adoquery1.Parameters[0].Value :=strtoint(edit1.Text );
      adoquery1.Open ;
    在dephi6+mssql2000下测试通过.
      

  2.   

    补充一下,楼上
    adoquery1.Parameters[0].Value :=strtoint(edit1.Text );
    可以用
    ADOQuery1.Parameters.ParamByName('itt').Value:=StrToInt(Edit1.Text);我种写法更直观一点,可读性更好一些
      

  3.   

    同意楼上(简单改了一下)
      with ADOQuery1 do
        begin
          Close ;
          SQL.Clear ;
          SQL.Add('select * from t_item where fitemclassid=:P0');
          Parameters[0].Value :=strtoint(edit1.Text );
          Open ;
        end;
      

  4.   

    Adoquery和Query参数可以使用如下方法传递参数。
    ADOQuery1.Parameters.ParamByName('参数').Value  :=''
    Query1.ParamByName('参数').value:=''在设置AdoQuery的Sql时请先指定ADOQuery的Connection否则参数不认。
    这不知是不是BUG
      

  5.   

    谁来帮我解决一下问题,多谢了.
    http://expert.csdn.net/Expert/topic/1962/1962425.xml?temp=.3505976
      

  6.   

    我用的方法与楼上几位说的一样,可是运行是提示错误如下:‘语法错误和访问冲突’,而我用的SQL语言在SQL2000下输入具体的值是可以运行的,请问咋回事?
      

  7.   

    你的ADO有没有正确连接?先在设计阶段手工输入参数测试一下
      

  8.   

    估计是连接错误,Connection设置了吗?
      

  9.   

    我在SQL2000示例数据库Northwind表Customers中测试通过,代码如下:
     with adoquery1 do
      begin
        Close ;
        SQL.Clear ;
        SQL.Add('select * from customers where customerid=:itt');
        Parameters[0].Value :=strtoint(edit1.Text );
        Open ;
      end;