📄 frmlogon.frm
字号:
DBUserName = Mid(temp, 11, Len(temp) - 11)
End If
If Mid(temp, 2, 7) = "数据库登录密码" Then
DBPassWord = Mid(temp, 10, Len(temp) - 9)
End If
If Mid(temp, 2, 4) = "数据库名" Then
DBName = Mid(temp, 7, Len(temp) - 7)
End If
Loop
'------------------------------------------------------------------------------
'初始化数据库连接字符串
DBConectString = "driver={SQL server};Persist Security Info=False;User ID=" & DBUserName & ";Database=" & DBName & ";Server=" & ServerName
'------------------------------------------------------------------------------
departmentName = ""
departmentCode = ""
windowTel = ""
windowName = ""
loginPassword = ""
workerName = ""
Call iniCombo
End Sub
Private Sub Form_Unload(Cancel As Integer)
'处理窗体退出所要执行的操作
'释放对象
'2003-08-01 dww pm13:42
'----------------------
Set rs = Nothing
Set db = Nothing
Set m_cn = Nothing
'-----------------------
Unload frmRegister
Unload frmLogOn
Unload Me
'---------------------------
End Sub
Private Sub xpcmdbutton1_Click()
'调用自定义过程进行用户登录判断
'将判断用户登录的部分封装到一个过程中
'2003-08-01 dww pm16:11
'---------------------
Call CheckPassword
'---------------------
End Sub
Private Sub xpcmdbutton2_Click()
'处理取消按钮所执行的操作
'卸载窗体对象
'2003-08-01 dww pm13:41
'----------------------
Unload Me
'----------------------
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Call CheckPassword
End If
End Sub
Private Sub iniCombo()
'自定义过程初始化登录界面中的数据
'也就是填充用户名组合框
'2003-08-01 dww am13:56
'------------------------------------------------------------------------------
'以下代码将一个单位的所有工作人员导入人员组合框
Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
'------------------------------------------------------------------------------
'定义SQL查询字符串,条件非结算中心和管理中心的工作人员列表,此处为管理端登陆
'2004-1-4 dww pm 16:56
Dim SQL As String
Dim mydate As String
mydate = Date
SQL = " where ValidStart<='" & CDate(mydate) & "' and ValidEnd>='" & CDate(mydate) & "'and WorkerKind='窗口人员' order by departmentcode "
'------------------------------------------------------------------------------
db.ConnectionString = DBConectString
db.Open
'===============================我要修改2003-09-11====================================
'为了规范单位表存在常量gsWorkerTblStorageName中而该变量有在初始化模块中定义
rs.Open "select * from " & gsWorkerTblStorageName & SQL, db, adOpenStatic, adLockReadOnly
'------------------------------------------------------------------------------
Dim tempStr As String
Dim t As Integer
'------------------------------------------------------------------------------
If Not rs.EOF Then
For t = 0 To Val(rs.RecordCount) - 1
tempStr = Trim(rs.Fields("workername").Value)
rs.MoveNext
'导入工作人员姓名
Combo1.AddItem tempStr
Next t
End If
'===============================我要修改2003-09-11====================================
'------------------------------------------------------------------------------
rs.Close
'------------------------------------------------------------------------------
Set rs = Nothing
Set db = Nothing
'------------------------------------------------------------------------------
End Sub
Private Sub CheckPassword()
'自定义过程实现用户登录检查
'通过用户名和密码的检测判断当前用户是否是一个合法的用户
'2003-08-01 dww pm15:55
'-----------------------------------------------------------------------------
'以下代码实中心所有用户登录判断
'-----------------------------------------------------------------------------
Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
db.ConnectionString = DBConectString
db.Open
'===============================我要修改2003-09-11====================================
'定义一个SQL查询字符串找符合条件的记录以确认身份也即进行登陆身份验证2003-09-11dwwpm16:33
'在这里过滤掉单位不存在或单位已过期的工作人员,注意此处SQL语句已封装在程序里了,如果修改
'单位表和工作人员表名称时一定要修改程序,否则产生错误。
Dim SQL As String
Dim mydate As String
mydate = Date
SQL = "SELECT WorkerTbl.WorkerName, WorkerTbl.DepartmentCode,WorkerTbl.departmentName , WorkerTbl.Password, WorkerTbl.WindowName,TblDepartment.Telephone FROM WorkerTbl LEFT OUTER JOIN TblDepartment ON WorkerTbl.DepartmentCode = TblDepartment.DepartmentCode WHERE (TblDepartment.ValidStart <= '" & CDate(mydate) & "')" & " AND (TblDepartment.ValidEnd >= '" & CDate(mydate) & "')" & "and WorkerTbl.Workername='" & Combo1.Text & "'and WorkerTbl.password='" & Text1.Text & "'" & " and WorkerTbl.departmentcode<>'41010522004' ORDER BY WorkerTbl.DepartmentCode"
'===============================我要修改2003-09-11====================================
If Combo1.Text <> "" Then
'为了规范单位表存在常量gsWorkerTblStorageName中而该变量有在初始化模块中定义
'--------------------------------------------------------------------------
Set rs = db.Execute(SQL)
'-------------------------------------------------------------------------
'将判断结果显示出来也就是提示错误信息
If rs.EOF = True And rs.BOF Then
n = MsgBox("密码错误!请重新输入密码!", vbExclamation, "系统登录警告")
Text1.Text = ""
Text1.SetFocus
'--------------------------------------------------------------------------
'取出数据库中的数据并且把这一层的变量传到收件层
Else
'--------------------------------------------------------------
frmShouJian.inDepartmentName = Trim(rs.Fields("departmentName"))
'--------------------------------------------------------------
frmShouJian.inDepartmentCode = Trim((rs.Fields("departmentCode").Value))
'--------------------------------------------------------------
frmShouJian.inWindowName = Trim(rs.Fields("windowname").Value)
'--------------------------------------------------------------
frmShouJian.inWorkerName = Trim(rs.Fields("workername").Value)
'--------------------------------------------------------------
frmShouJian.inPassWord = Trim(rs.Fields("Password").Value)
'--------------------------------------------------------------
frmShouJian.DBConectString = DBConectString
'--------------------------------------------------------------
frmShouJian.inWindowTel = Trim(rs.Fields("telephone").Value)
'--------------------------------------------------------------
frmShouJian.Show
Unload Me
End If
rs.Close
'--------------------------------------------------------------------------------
Else
n = MsgBox("请选择用户名!用户名不能为空!", vbExclamation, "系统登录警告")
End If
End Sub
Private Sub CheckDepartmentValid(Valid As Boolean)
'自定义过程实现单位有效性的判断
'根据初始化文本文件记录的单位代码来判断一下这个单位是否有效
'如果有效的话则允许其登录否则的话则提示错误信息限制其登录
'2003-08-08 dww am11:55
'-----------------------------------------------------------------------------
'以下代码实中心所有单位有效性判断
'-----------------------------------------------------------------------------
'定义SQL查询字符串2003-08-08 dww pm11:10
Dim SQL As String
Dim mydate As String
mydate = Date
SQL = "and ValidStart<='" & CDate(mydate) & "' and ValidEnd>='" & CDate(mydate) & "'"
'---------------------------------------------------------------------------
Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
db.ConnectionString = DBConectString
db.Open
rs.Open "select * from " & gsDepartmentStorageName & " where departmentcode='" & departmentCode & "' " & SQL, db, adOpenStatic, adLockReadOnly
'-----------------------------------------------------------------------------
If rs.EOF = True Or rs.BOF Then
Valid = False
Else
Valid = True
End If
'------------------------------------------------------------------------------
rs.Close
'------------------------------------------------------------------------------
Set db = Nothing
Set rs = Nothing
'------------------------------------------------------------------------------
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -