📄 frmuser.vb
字号:
Me.lblUserName.AutoSize = True
Me.lblUserName.Location = New System.Drawing.Point(32, 88)
Me.lblUserName.Name = "lblUserName"
Me.lblUserName.Size = New System.Drawing.Size(35, 17)
Me.lblUserName.TabIndex = 2
Me.lblUserName.Text = "姓名:"
'
'lblUserID
'
Me.lblUserID.AutoSize = True
Me.lblUserID.Location = New System.Drawing.Point(32, 48)
Me.lblUserID.Name = "lblUserID"
Me.lblUserID.Size = New System.Drawing.Size(23, 17)
Me.lblUserID.TabIndex = 0
Me.lblUserID.Text = "ID:"
'
'frmUser
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(512, 341)
Me.Controls.Add(Me.GroupBox2)
Me.Controls.Add(Me.GroupBox1)
Me.MaximizeBox = False
Me.Name = "frmUser"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "用户信息管理"
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox2.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub frmUser_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'导入用户资料
freshData()
End Sub
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
'将下列控件设为可用,并清空值
txtUserID.Enabled = True
txtUserName.Enabled = True
txtPassword.Enabled = True
cboUserType.Enabled = True
txtUserID.Text = ""
txtUserName.Text = ""
txtPassword.Text = ""
cboUserType.SelectedIndex = 0
btnUpdate.Enabled = False
btnDel.Enabled = False
strCommand = "add" '设置操作命令为add:添加新数据
End Sub
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
If strCommand = "add" Then '添加用户资料
If txtUserID.Text.Trim() = "" Or txtUserName.Text.Trim() = "" Or txtPassword.Text.Trim() = "" Or cboUserType.Text.Trim() = "" Then
MsgBox("请完整填写详细", MsgBoxStyle.Exclamation)
Exit Sub
End If
Dim STRSQL = "SELECT * FROM users WHERE userid='" & txtUserID.Text.Trim() & "'"
myDataObj.ExecuteSQL(STRSQL, drSqlServer)
If drSqlServer.Read() Then
MsgBox("此用户ID已存在", MsgBoxStyle.Exclamation)
txtUserID.Text = ""
drSqlServer.Close()
Exit Sub
End If
drSqlServer.Close()
Dim Params() As SqlParameter = _
{New SqlParameter("@UserID", SqlDbType.VarChar), _
New SqlParameter("@UserName", SqlDbType.VarChar), _
New SqlParameter("@Password", SqlDbType.VarChar), _
New SqlParameter("@UserType", SqlDbType.Char)}
Params(0).Value = txtUserID.Text.Trim()
Params(1).Value = txtUserName.Text.Trim()
Params(2).Value = txtPassword.Text.Trim()
Params(3).Value = cboUserType.SelectedIndex + 1
myDataObj.ExecuteSP("sp_InsertUser", Params)
MsgBox("添加完毕", MsgBoxStyle.Information)
freshData()
ElseIf strCommand = "update" Then '更新用户资料
If txtUserID.Text.Trim() = "" Or txtUserName.Text.Trim() = "" _
Or txtPassword.Text.Trim() = "" Or cboUserType.Text.Trim() = "" Then
MsgBox("请完整填写详细", MsgBoxStyle.Exclamation)
Exit Sub
End If
Dim Params() As SqlParameter = _
{New SqlParameter("@UserID", SqlDbType.VarChar), _
New SqlParameter("@UserName", SqlDbType.VarChar), _
New SqlParameter("@Password", SqlDbType.VarChar), _
New SqlParameter("@UserType", SqlDbType.Char)}
Params(0).Value = txtUserID.Text.Trim()
Params(1).Value = txtUserName.Text.Trim()
Params(2).Value = txtPassword.Text.Trim()
Params(3).Value = cboUserType.SelectedIndex + 1
myDataObj.ExecuteSP("sp_UpdateUser", Params)
MsgBox("更新完毕", MsgBoxStyle.Information)
freshData()
Else
Me.Close()
End If
txtUserID.Enabled = False
txtUserName.Enabled = False
txtPassword.Enabled = False
cboUserType.Enabled = False
btnAdd.Enabled = True
btnUpdate.Enabled = True
btnDel.Enabled = True
strCommand = ""
End Sub
'更新数据显示
Private Sub freshData()
Dim myValues(4) As String
Dim myListItem As ListViewItem
Dim Params() As SqlParameter = {}
If myDataObj.ExecuteSP("sp_GetAllUser", Params, drSqlServer) = True Then
'如果存在记录,则先清除lstUser控件中的原有记录
If lstUser.Items.Count > 0 Then
lstUser.Items.Clear()
End If
While drSqlServer.Read()
myValues(0) = drSqlServer("userID").ToString()
myValues(1) = drSqlServer("username").ToString()
myValues(2) = drSqlServer("password").ToString()
myValues(3) = drSqlServer("userType").ToString()
myListItem = New ListViewItem(myValues)
'添加一行记录到lstUser
lstUser.Items.Add(myListItem)
End While
drSqlServer.Close()
End If
End Sub
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
If strCommand = "add" Then
txtUserID.Text = ""
txtUserName.Text = ""
txtPassword.Text = ""
cboUserType.SelectedIndex = 0
txtUserID.Enabled = False
txtUserName.Enabled = False
txtPassword.Enabled = False
cboUserType.Enabled = False
ElseIf strCommand = "update" Then
txtUserID.Enabled = False
txtUserName.Enabled = False
txtPassword.Enabled = False
cboUserType.Enabled = False
Else
Me.Close()
End If
btnAdd.Enabled = True
btnUpdate.Enabled = True
btnDel.Enabled = True
strCommand = ""
End Sub
Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
txtUserName.Enabled = True
txtPassword.Enabled = True
cboUserType.Enabled = True
btnAdd.Enabled = False
btnDel.Enabled = False
strCommand = "update" '设置数据操作命令为update:更新数据
End Sub
Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDel.Click
If MsgBox("确定要删除用户" & txtUserID.Text & "?", MsgBoxStyle.OKCancel) = MsgBoxResult.OK Then
Dim Params() As SqlParameter = {New SqlParameter("@UserID", SqlDbType.VarChar)}
Params(0).Value = txtUserID.Text.Trim()
myDataObj.ExecuteSP("sp_DelUser", Params)
Dim strSQL = "SELECT * FROM USERS WHERE USERID='" & Params(0).Value & "'"
myDataObj.ExecuteSQL(strSQL, drSqlServer)
If drSqlServer.Read() Then
MsgBox("此管理员已在其它地方存在记录,不可删除!", MsgBoxStyle.Information)
Else
MsgBox("删除完毕", MsgBoxStyle.Information)
End If
drSqlServer.Close()
freshData()
End If
End Sub
'显示用户的详细资料
Private Sub lstUser_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstUser.Click
txtUserID.Text = lstUser.SelectedItems(0).SubItems(0).Text
txtUserName.Text = lstUser.SelectedItems(0).SubItems(1).Text
txtPassword.Text = lstUser.SelectedItems(0).SubItems(2).Text
cboUserType.SelectedIndex = lstUser.SelectedItems(0).SubItems(3).Text - 1
End Sub
Private Sub cboUserType_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboUserType.SelectedIndexChanged
End Sub
Private Sub lstUser_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstUser.SelectedIndexChanged
End Sub
Private Sub GroupBox2_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox2.Enter
End Sub
Private Sub txtUserID_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtUserID.TextChanged
End Sub
Private Sub txtUserID_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtUserID.LostFocus
Dim i As Integer
Try
i = CInt(txtUserID.Text)
Catch
MsgBox("用户ID只能是0-9之间的数字字符组成", MsgBoxStyle.Information)
txtUserID.Text = "0"
End Try
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -