Vb.net Visual Studio错误,是否需要其他表达式?
我写了一些代码,并得到了两个错误: “Else”前面必须有匹配的“If”或“ElseIf”。 需要一个表达式。 代码如下:Vb.net Visual Studio错误,是否需要其他表达式?,vb.net,visual-studio-2010,Vb.net,Visual Studio 2010,我写了一些代码,并得到了两个错误: “Else”前面必须有匹配的“If”或“ElseIf”。 需要一个表达式。 代码如下: Imports System.Data.Odbc Public Class FormLogin Dim CMD As New OdbcCommand Dim RD As OdbcDataReader Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.
Imports System.Data.Odbc
Public Class FormLogin
Dim CMD As New OdbcCommand
Dim RD As OdbcDataReader
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "" Or TextBox2.Text = "" Then MsgBox("Data Login Belum Lengkap!")
Exit Sub
Else
Call Koneksi()
CMD = New OdbcCommand("Select * From tbl_admin where kode_admin=" & TextBox1.Text & "and password_admin=" & TextBox2.Text &, Conn)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then
Me.Close()
FormMenuUtama.Show()
FormMenuUtama.LoginToolStripMenuItem.Enabled = False
FormMenuUtama.LogoutToolStripMenuItem.Enabled = True
FormMenuUtama.MasterToolStripMenuItem.Enabled = True
FormMenuUtama.TransaksiToolStripMenuItem.Enabled = True
FormMenuUtama.LaporanToolStripMenuItem.Enabled = True
Else
MsgBox("Kode Admin atau Password Salah")
End If
End Sub
Private Sub FormLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.MaxLength = 6
TextBox2.PasswordChar = "*"
TextBox1.Clear()
TextBox2.Clear()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
End Class
添加另一个端点(如果在端点子节点之前)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "" Or TextBox2.Text = "" Then MsgBox("Data Login Belum Lengkap!")
Exit Sub
Else
Call Koneksi()
CMD = New OdbcCommand("Select * From tbl_admin where kode_admin=" & TextBox1.Text & "and password_admin=" & TextBox2.Text &, Conn)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows Then
Me.Close()
FormMenuUtama.Show()
FormMenuUtama.LoginToolStripMenuItem.Enabled = False
FormMenuUtama.LogoutToolStripMenuItem.Enabled = True
FormMenuUtama.MasterToolStripMenuItem.Enabled = True
FormMenuUtama.TransaksiToolStripMenuItem.Enabled = True
FormMenuUtama.LaporanToolStripMenuItem.Enabled = True
Else
MsgBox("Kode Admin atau Password Salah")
End If
End If
End Sub
1不要在If语句中的Then之后添加代码。它变成了一条线
因此:
而不是
If TextBox1.Text = "" Or TextBox2.Text = "" Then MsgBox("Data Login Belum Lengkap!")
...
CMD = New OdbcCommand("Select * From tbl_admin where kode_admin=" & TextBox1.Text & "and password_admin=" & TextBox2.Text &, Conn)
2有一个额外的&
因此:
而不是
If TextBox1.Text = "" Or TextBox2.Text = "" Then MsgBox("Data Login Belum Lengkap!")
...
CMD = New OdbcCommand("Select * From tbl_admin where kode_admin=" & TextBox1.Text & "and password_admin=" & TextBox2.Text &, Conn)
Button1\u Click有两个If,但只有一个EndIf…看起来我可以通过在TextBox2中输入类似或1=1的内容来击败您的密码检查。您应该研究使用SQL参数来传递值。此外,您忘记关闭连接。此外,查询必须使用参数以提高安全性,您也可以在帖子中添加参数。rest all fineOP似乎也缺少每个值的“开始”和“结束”。