怎么在ADO里想Query中进行参数查询呢,我发现ADO没有parambyname这种用法?

解决方案 »

  1.   

    adoquery1.Parameters.ParamByName('Name').Value:='adfdfd';
      

  2.   

    请两位看看,为什么会运行时出现非法的错误提示,其中maxtotal是Currency类型
      ADOQuery1.Close();
      ADOQuery1.SQL.Clear();
      ADOQuery1.SQL.Add("select 发布日期 from b1 where 买入价=:max");
      ADOQuery1.Parameters.ParamByName("max")->Value=maxtotal;
      ADOQuery1.Open();
      

  3.   

    adodataset1.commandtext:='select * from table1 where dd='''+edit1.text+'''';
      

  4.   

    同意楼上的 各位:
    adoquery1.Parameters.ParamByName('p1').value :=^
    就可以搞定了 !~~~
      

  5.   

    关键现在这么写了之后,却提示“非法字符串和缓冲区”,这是这么回事
    还是上面的value前面应该是.,我已经改过来了
    再帮帮我好么
      

  6.   


      ADOQuery1.Close();
      ADOQuery1.SQL.Clear();
      ADOQuery1.SQL.Add('select 发布日期 from b1 where 买入价='+max);
      ADOQuery1.Open();
      

  7.   

    q.Close;
       q.SQL.Clear;
       q.SQL.add('select 省份 from mytable1 where 省份=:max');
       q.Parameters.ParamByName('max').value :='河北';
       q.Open;这样子没有问题啊!!
      

  8.   

    我知道了,关键在于数据类型,而不是语法
    另外,to caihuihot
    你的办法到是很新颖,但是在我这里不能通过呀
    分马上给
      

  9.   

    ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('select * from b1 where 买入价=:a');
      ADOQuery1.Parameters.ParamByName('a').Value=edit1.text;
      ADOQuery1.Open;