/先将所有按钮使能都设为否
    rzgroup1.Items[0].Enabled:=false;
    id:=form2.Edit1.Text;
    adoquery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Text:='select 权限编号 from 权限清单 where 用户权限="工艺查询" and  用户编号='''+id+'''';                                                         //这儿是没有查询到数据的,但实际应该有数据,不知什么地
                                                           方出错.
    Adoquery1.Open;
    if adoquery1.FieldByName('权限编号').AsString<>'' then
    begin
    rzgroup1.Items[0].Enabled:=true;
   
    end;

解决方案 »

  1.   

    Edit1.text是否纯数字? 或id列是INT?ID这个是否存在全局同名变量,看看RECORDCOUNT是否不为0试试改用TRIM(ID)看看.
      

  2.   

    Int和字符在SQL语句引用的方式不一样,Int直接引用数字,而字符类要使用“'”号。
      

  3.   

         ADOQuery1.SQL.Text:=' select 權限編寫 from 權限清單 where 用戶權限=''工藝查詢'' and  用戶編號='''+Trim(id)+''' ';
      

  4.   

    用trim(id)是行不通的,因为trim是delphi里的语言,而不是sql语言,用户编号是数字,但是在数据表里设的格式为文本类型。
      

  5.   

    谢谢各位,这个问题是form2.edit1.text在引用之前已经释放了.所以查不到值