请问各位高手,下面这段代码中“哪些”“username”是数据库中的字段名?
//检查某用户名称是否已经存在
function TfrmRightSetting.CheckExistUserName(UserName:string):boolean;
var
  Query:TADOQuery;
Begin
  Try
Query:=TADOQuery.Create(nil);
Query.Connection:=dmPer.acPer;
Query.SQL.Add(‘select UserName from Operator where UserName=:UserName’);
Query.Parameters.ParamByName(‘UserName’).Value:=UserName;
Query.Open;
Result:=Query.RecordCount>0;
Query.Close;
Query.Free;
  Except
Result:=False;
  End;
End;

解决方案 »

  1.   

    Query.Parameters.ParamByName('UserName').Value:=UserName;

    Query.ParamByName('UserName').AsString:=UserName;
    最主要的你只是要检查一下RecordCount>0即存在。Query.SQL.Add('select UserName from Operator where UserName=''+Edit1.Text+''');
      

  2.   


    Query.SQL.Add(‘select UserName(字段名) from Operator where UserName(字段名)=:UserName’);
    Query.Parameters.ParamByName(‘UserName’(字段名)).Value:=UserName;
      

  3.   

    Query.SQL.Add(‘select UserName{数据库中的字段名} from Operator where UserName{数据库中的字段名}=:UserName{参数}’);
    Query.Parameters.ParamByName(‘UserName{参数}’).Value:=UserName;
      

  4.   

    Query.SQL.Add(‘select UserName from Operator where UserName=:User_Var’);
    Query.Parameters.ParamByName(‘User_Var’).Value := '张三';还有,你可以把变量名换一下试试,就知道了。 
      

  5.   

    Query.SQL.Add(‘select UserName(字段名) from Operator where UserName(字段名)=:UserName’);
    Query.Parameters.ParamByName(‘UserName’(字段名)).Value:=UserName;
      

  6.   

    Query.SQL.Add(‘select UserName from Operator where UserName=:UserName’);
                           ~~~~~~~~<----(字段名)----->~~~~~~~~  ^^^^^^^^(参数名)         
    Query.Parameters.ParamByName(‘UserName’).Value:=UserName;
    (参数名,与上面参数名对应)--->~~~~~~~~~~          ^^^^^^^^(delphi变量)
      

  7.   

    同意kissmett(雨岸一帆)另外,RecordCount这个属性不是很好的,用Query.bof and Query.eof来判断是否有记录可能会好一些,以前的RecordCount是有Bug的,不是delphi6以后的版本解决没有
      

  8.   

    谢谢各位的解答,但我试了却不行,应该是我的水平不行,我再问的细一些,请大家再帮帮我
    我的数据库中字段名叫“用户名”,Form上的Edit的name属性是“username”,应该怎样改上面的那段代码?
      

  9.   

    procedure TfrmRightSetting.Button1Click(Sender: TObject);
    begin
      if CheckExistUserName(username.text) then
      showmessage('用戶名存在') 
      else
      showmessage('用戶名不存在') ;
    end ;function TfrmRightSetting.CheckExistUserName(UserName:string):boolean;
    var
      Query:TADOQuery;
    Begin
      Try
    Query:=TADOQuery.Create(nil);
    Query.Connection:=dmPer.acPer;
    Query.SQL.Add(‘select 用户名 from Operator where 用户名=:UserName’);
    Query.Parameters.ParamByName(‘UserName’).Value:=UserName;
    Query.Open;
    Result:=Query.RecordCount>0;
    Query.Close;
    Query.Free;
      Except
    Result:=False;
      End;
    End;