{=================================================================
功 能: 登录信息检测
参 数: pUserInfo: 用户信息记录;ErrorMessage:返回信息;Flag:0为登录,1为退出
返回值: -1:存储过程执行错;0:成功;1:账户名错;2:密码错;3:同一账户同时登录
备 注:
版 本: 1.0 2011/06/09 21:05:00
=================================================================}
function Fun_LoginCheck(var pUserInfo:TREMPLOYEE ;var ErrorMessage:string;Flag:string): Integer;
var
ADOStoredProcTemp:TADOStoredProc;
begin
ADOStoredProcTemp := TADOStoredProc.Create(nil);
try
with ADOStoredProcTemp,ADOStoredProcTemp.Parameters,pUserInfo do
begin
Connection:=DataModuleMain.ADOCon;
//ConnectionString:=gConStr;
ProcedureName:='SP_LOGIN';
//Parameters.Command.CommandType:= cmdStoredProc;
Refresh;
ParamByName('pDM').Value :=DM;
ParamByName('pMM').Value :=Fun_Crypt(MM);
ParamByName('pDLIP').Value :=DLIP;
ParamByName('pFLAG').Value :=FLAG;
ExecProc;
ErrorMessage:=ParamByName('Perrmessage').Value;
Result:=ParamByName('Perrcode').Value;
if (Result = 0) and (Flag = '0') then
begin
MC:=ParamByName('pMC').Value;
CDQX:=ParamByName('pCDQX').Value;
KSQX:=ParamByName('pKSQX').Value;
KSDM:=ParamByName('pKSDM').Value;
KSMC:=ParamByName('pKSMC').Value;
TSQX:=ParamByName('pTSQX').Value;
GLYBZ:=ParamByName('pGLYBZ').Value;
CYSLF:=ParamByName('pCYSLF').Value;
end;
end;
finally
ADOStoredProcTemp.Free;
end;
end;
//说明:1.Refresh;一定要,否则得不到参数列表;
2.过程里除了out型参数,都得给值,否则报错;
3.如果out参数没返回值但用了变量去接收,也会报错;
4.连接用Connection比ConnectionString快很多;