一个小系统,检查下代码哪里出问题了。

艾乐飞 艾乐飞 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这是部分代码,为什么输入密码正确,点击确定后直接跳出系统,并没有打开主界面,应该再哪加?

这是主界面的。
Imports System.Windows
Public Class FrmMain


Private Sub FrmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim check As Boolean = True
Try
Do
Dim Login As New LOGIN
Login.ShowDialog()

If Login.DialogResult = Windows.Forms.DialogResult.OK And Login.flag Then
check = False
ElseIf Login.DialogResult = Windows.Forms.DialogResult.Cancel Then
Me.Close()
check = False
End If

Loop While check

If UserRight = 1 Then
Me.SystemUser.Visible = False
ElseIf UserRight = 2 Then
Me.SystemUser.Visible = False
Me.PIman.Visible = False
End If

Catch ex As Exception
WriteErr(ex)
End Try
End Sub
Private Sub user_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SystemUser.Click
Dim FrmUser As New FrmUser
FrmUser.MdiParent = Me
FrmUser.Show()
End Sub

Private Sub Changemypwd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChangeMyPwd.Click
Dim ChangePwd As New ChangePwd
ChangePwd.ShowDialog()
End Sub

Private Sub Exitme_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitMe.Click
ExitMe.Visible = False
SystemUser.Visible = False
PIman.Visible = False
PIQuery.Visible = False
End Sub

Private Sub Relogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReLogin.Click
Dim check As Boolean = True
Try
Do
Dim Login As New LOGIN
Login.ShowDialog()

If Login.DialogResult = Forms.DialogResult.OK And Login.flag Then
check = False
ElseIf Login.DialogResult = Forms.DialogResult.Cancel Then
Me.Close()
check = False
End If

Loop While check

If UserRight = 0 Then
Me.SystemUser.Visible = True
Me.PIman.Visible = True
Me.PIQuery.Visible = True
ElseIf UserRight = 1 Then
Me.PIman.Visible = True
Me.PIQuery.Visible = True
ElseIf UserRight = 2 Then
Me.PIQuery.Visible = True
End If

Catch ex As Exception
WriteErr(ex)
End Try
End Sub
End Class

这是登陆界面的
Public Class LOGIN
Inherits System.Windows.Forms.Form

Public flag As Boolean = False

Private Sub btok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtOK.Click
If Me.TBUsername.Text.Trim() = String.Empty Then
MessageBox.Show("姓名不能为空")
Me.TBUsername.Focus()

ElseIf Me.TBPwd.Text.Trim() = String.Empty Then
MessageBox.Show("密码不能为空")
Me.TBPwd.Focus()

Else
Dim sql As String = "SELECT * FROM USERINFO WHERE USERID = '" + Me.TBUsername.Text.Trim() + "' AND USERPWD = '" + Me.TBPwd.Text.Trim() + "'"
Dim dt As DataTable = GetDataTable(sql)

If dt.Rows.Count = 0 Then
MessageBox.Show("用户名不存在或密错误", "错误")
Me.TBPwd.Focus()
Else
UserRight = dt.Rows(0)("usertype")
UserID = Me.TBUsername.Text.Trim()
flag = True
Me.Close()
End If
End If
End Sub

Private Sub btcancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btcancel.Click
Application.Exit()
End Sub

Private Sub LOGIN_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub
End Class

这是全局变量和公共函数的
Imports system.data.sqlClient
Imports System.IO

Module DataSql
Public UserFlag As Boolean
Public User As String
Public UserID As String
Public UserRight As Int16
Public Sqlcon As New SqlConnection("data source = PC-200911071615\SQLEXPRESS; Database = PIManage;User Id = admin; pwd = 888;")

Public Function GetDataTable(ByVal sql As String) As DataTable
Dim dt As New DataTable

Try
Dim SqlAda As New SqlDataAdapter(New SqlCommand(sql, SqlCon))
SqlAda.Fill(dt)
Catch ex As Exception
WriteErr(ex)
End Try

Return dt
End Function

Public Sub WriteErr(ByVal ex As Exception)

Dim path As String = Application.StartupPath + "\Err01.txt"
If Not File.Exists(path) Then
File.Create(path)
End If
Dim sw As StreamWriter = File.AppendText(path)
sw.Write(System.DateTime.Now.ToString() + vbCrLf)
sw.Write(ex.Message + vbCrLf)
sw.Write(ex.StackTrace + vbCrLf)
sw.Flush()
sw.Close()

End Sub

Function JudgeInt(ByVal str As String) As Boolean
Try
Int16.Parse(str)
Return True
Catch ex As Exception
Return False
End Try
End Function

Function JudgeKeyExist(ByVal tableName As String, ByVal key As String, ByVal keyValue As Int16) As Boolean
Dim sql As String = "select * from " + tableName + " where " + key + "=" + keyValue.ToString
Try

Dim dt As DataTable = GetDataTable(sql)
If dt.Rows.Count <> 0 Then
Return True
Else
Return False
End If
Catch ex As Exception
WriteErr(ex)
End Try
End Function

Function JudgeKeyExist(ByVal tableName As String, ByVal key As String, ByVal keyValue As String) As Boolean
Dim sql As String = "select * from " + tableName + " where " + key + "='" + keyValue + "'"
Try

Dim dt As DataTable = GetDataTable(sql)
If dt.Rows.Count <> 0 Then
Return True
Else
Return False
End If
Catch ex As Exception
WriteErr(ex)
End Try
End Function

Function JudgeKeyExist(ByVal tableName As String, ByVal key1 As String, ByVal keyValue1 As Int16, ByVal key2 As String, ByVal keyValue2 As Int16) As Boolean
Dim sql As String = "select * from " + tableName + " where " + key1 + "=" + keyValue1.ToString + " and " + key2 + "=" + keyValue2.ToString
Try

Dim dt As DataTable = GetDataTable(sql)
If dt.Rows.Count <> 0 Then
Return True
Else
Return False
End If
Catch ex As Exception
WriteErr(ex)
End Try
End Function

Function TreeNodeLevel(ByVal node As TreeNode) As Integer

Dim IDItem() As String
IDItem = node.FullPath.Split("\"c)
Return IDItem.Length

End Function
End Module
...全文
评论 17
收藏 已收藏
分享
返回顶部
艾乐飞
VB 16,718 成员 110,520 内容