应该是   with adoquery do
   begin
     close;
     SQL.Clear;
     SQL.Text:='select *  from artlsbmk where zkzh=:pzkzh ';
     Parameters.ParamByName('pzkzh').Value:=edit1.text;
     Open; 
  end;

解决方案 »

  1.   

    试了一下,还是不行,怎么办?9958
    该不是delphi的原因吧?
      

  2.   

    系统提示说:找不到参数:pzkzh
      

  3.   

    那你就用这个~~  with adoquery do
      begin
        close;
        SQL.Clear;
        SQL.Text:='select *  from artlsbmk where zkzh='+#39+edit1.text+#39;
        Open; 
      
      

  4.   

    你的代码有笔误:
    with adoquery do
            begin
              close;
              SQL.Text:='select *  from artlsbmk where zkzh:=pzkzh ';
              Parameters.ParamByName('pzkzh').Value:=edit1.text;
              prepared;
              Open;
     where  语句之后的‘:=’应为‘=:’
      

  5.   

    搞定,还是这位大哥厉害,但是还有一个问题,我用一个datasourse来连接adoquery,然后用
    一个dbgrid连接这个datasourse,以便来显示结果
    但是却怎么也显示不出数据?这是如何回事?
      

  6.   

    你能保证你的AdoQuery的Active是True吗??
      

  7.   

    不行,只能显示出字段名字,但是数据还是显示部出来
    无论在open后加上:active:=true还是在open前加上:active:=true还是没有用
    大哥再想想是什么原因
      

  8.   

    还不行,而且我用sql explore更改数据库的纪录后,dbgrid里面的东西居然没有更改,你说奇怪不奇怪?
      

  9.   

    噢?是oracle8??不好意思~~这个东东我就真的不会了~~ 
      

  10.   

    adotable或者adoquery可不可以不用datasoure来连接,又没有别的连接方式?
      

  11.   

    现在可以刷新数据了,但是
    dbgrid不能显示adoquery查询的数据,这颗怎么办?
      

  12.   

    好像不可以的~必须使用一个DataSource
      

  13.   

    呵呵~~我也糊涂了~~对了~~你的ADO有没有进行过升级??我原来也有很多问题~可是下载升级包以后好多问题就解决了~~你先找一个Delphi的ADO升级包试试?
      

  14.   

    http://www.inprises.com/relax/index.htm
    这里有很多Delphi的连接~~我也忘了是从那里下载的了~
    只好你自己去找了~不好意思~~
    我要下了~886~~
      

  15.   

    是  你看看搜索的变量是没有换成同类型的。
    with adoquery do
      
    begin
        close;
        SQL.Clear;
        SQL.Text:='select *  from artlsbmk where zkzh=:pzkzh ';
        Parameters.ParamByName('pzkzh').Value:=edit1.text;
        Open; 
      end;
      

  16.   

    那个变量是char类型的,不知道和string培不配?
      

  17.   

    with adoquery do
      
    begin
        close;
        SQL.Clear;
        SQL.Text:='select *  from artlsbmk where zkzh=:pzkzh ';
        Parameters.ParamByName('pzkzh').Value=:edit1.text;
        ExecSql;  //不用OPEN; 
      end;
    你看这样行了吗?
      

  18.   

      with adoquery do
            begin
              close;
              SQL.Text:='select *  from artlsbmk where zkzh:=pzkzh ';
              Parameters.ParamByName('pzkzh').asstring:=edit1.text;
              prepared;
              Open;