var times:integer;
    RenMsg:string;

解决方案 »

  1.   

    或者VARCHAR也行
    他们都是STR类型
      

  2.   

    procedure TfmLogin.btnLoginClick(Sender: TObject);
    var RenMsg:string;
    begin
          times:=times+1;
            with dbc.dbm.UserCheck do
               begin
                 Parameters.ParamByName('@type').Value:=6; // 操作员登录校验(含在线及密码校验);
                 Parameters.ParamByName('@Oper_ID').Value:=widestring(TRIM(edUser.Text));
                 Parameters.ParamByName('@Oper_Password').Value:=widestring(TRIM(edPwd.Text));
                 Parameters.ParamByName('@Re').Value:=widestring('');
                 try
                   ExecProc;
                 except
                   begin
                     application.MessageBox('系统错误!', '警告', MB_OK + MB_ICONWARNING);
                     application.Terminate;
                   end;
                 end;             if trim(Parameters.ParamByName('@result').Value)='0' then begin  //login OK
                     fmMain.statusbar.Panels[5].Text:= '[权限]'+trim(Parameters.ParamByName('@Role_Name').Value);
                     fmMain.Caption:=INCOMEMANAGER+
                        INCOMEMANAGER_VERSION+'       当前登录用户: '+Parameters.ParamByName('@Oper_Name').Value;
                     fmMain.statusbar.Panels[4].Text:=edUser.Text; //取用户登录名
                     UserMac:=NBGetAdapterAddress(0);//取第一张网卡MAC地址
                     UserIp:=LocalIP();//取客户机IP地址
                     fmMain.statusbar.Panels[6].Text:=UserIp;//show userip in statusbar panel
                     fmMain.statusbar.Panels[0].Text:='等待操作...'; //show idle msg
                     exit;
                    end
                 else      //login fail,show error message,try it next time,but only can try 3 times
                   begin
                     RenMsg:=Parameters.ParamByName('@result').Value;
                     application.MessageBox(PChar(RenMsg), '警告', MB_OK + MB_ICONWARNING);
                     edpwd.Clear;
                     edpwd.SetFocus;
                     abort;
                   end;
                 end;   if times=3 then begin
         application.MessageBox('尝试超过三次,系统终止!','系统终止',MB_OK + MB_ICONWARNING);
         application.Terminate;
       end;
       dbc.dbm.UserCheck.free;
    end;