我有一张用户密码表,现在我想在里面查到,combobox1.text中的用户名,并且权限字段为0的个数
代码:
  datamodule1.for_admin.close; 
  datamodule1.for_admin.sql.clear;
  datamodule1.for_admin.SQL.Add('select * from 用户密码表 where  用户名=:p and 权限=:l');
  datamodule1.for_admin.Active:=true;
  datamodule1.for_admin.Parameters.ParamByName('l').Value:='0';
  datamodule1.for_admin.Parameters.ParamByName('p').Value:=combobox1.Text;  if datamodule1.for_admin.RecordCount>0 then
........
现在的问题是,我怎么查都为了记录,编译通过就是没有功能实现。请高手帮忙看下问题在哪?

解决方案 »

  1.   


      datamodule1.for_admin.Parameters.ParamByName('l').Value:=0; 
      datamodule1.for_admin.Parameters.ParamByName('p').Value:=QuotedStr(combobox1.Text); 
    或者
      datamodule1.for_admin.SQL.Add('select * from 用户密码表 where  用户名='+QuotedStr(combobox1.Text)+' and 权限='+IntToStr(值));
      去掉 
      datamodule1.for_admin.Parameters.ParamByName('l').Value:='0'; 
      datamodule1.for_admin.Parameters.ParamByName('p').Value:=combobox1.Text; 
      

  2.   

    改成这样
    datamodule1.for_admin.close; 
      datamodule1.for_admin.sql.clear; 
      datamodule1.for_admin.SQL.Add('select * from 用户密码表 where  用户名=:p and 权限=:l'); 
      datamodule1.for_admin.Parameters.ParamByName('l').Value:='0'; 
      datamodule1.for_admin.Parameters.ParamByName('p').Value:=combobox1.Text; 
      datamodule1.for_admin.Open;
    或者 var
      AName,AQX :string;
      AName :='0';
      AQX :=Combobox1.Text;
      datamodule1.for_admin.close; 
      datamodule1.for_admin.sql.clear; 
      datamodule1.for_admin.SQL.Add('select * from 用户密码表 where  用户名='''+AName+''' and 权限='''+AQX+''''); 
      datamodule1.for_admin.Open
      
      

  3.   

      datamodule1.for_admin.close; 
      datamodule1.for_admin.sql.clear; 
      datamodule1.for_admin.SQL.Add('select * from 用户密码表 where  用户名=:p and 权限=:l'); 
     
      datamodule1.for_admin.Parameters.ParamByName('l').Value:='0'; 
      datamodule1.for_admin.Parameters.ParamByName('p').Value:=combobox1.Text; 
      datamodule1.for_admin.Active:=true; 
      

  4.   

    您说的第二冲无法编译通过,第一种加了OPEN也是不行呀,真郁闷啊
      

  5.   


    procedure TForm1.Button2Click(Sender: TObject);
    var
      AName,AQX :string;
    begin
      AName :='0';
      AQX :=Combobox1.Text;
      datamodule1.for_admin.close; 
      datamodule1.for_admin.sql.clear; 
      datamodule1.for_admin.SQL.Add('select * from 用户密码表 where  用户名='''+AName+''' and 权限='''+AQX+''''); 
      datamodule1.for_admin.Open
    end;
      

  6.   

    哇,谢谢lgx0914,你最后那个方法可以,已经顺利达到功能了,但还是不明白我原先的怎么就不行,呵呵,谢谢呀。
      

  7.   

    使用value有时要注意字段类型问题