Visual Studio错误Else和表达式期望值



我写了一些代码,并得到两个错误:

  1. 'Else' must be preceded by a matching 'If' or 'ElseIf'.
  2. Expression expected.

代码如下:

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

1)If语句中,Then后面不加代码。变成一行

:

If TextBox1.Text = "" Or TextBox2.Text = "" Then
MsgBox("Data Login Belum Lengkap!")
...
不是

If TextBox1.Text = "" Or TextBox2.Text = "" Then MsgBox("Data Login Belum Lengkap!")
...

2)有一个额外的&

:

CMD = New OdbcCommand("Select * From tbl_admin where kode_admin=" & TextBox1.Text & "and password_admin=" & TextBox2.Text , Conn)
不是

CMD = New OdbcCommand("Select * From tbl_admin where kode_admin=" & TextBox1.Text & "and password_admin=" & TextBox2.Text &, Conn)

在结束子标题前添加另一个结束If。

 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

最新更新