读者if和else声明

时间:2018-05-13 09:03:00

标签: mysql vb.net

我正在练习visual basic编程 我在visual basic中有2个表单。 第一种形式有一个命令按钮,它将显示第二种形式的输入数据 第二种形式有一个文本框,我需要输入数据并保存。

我在第二种形式输入的数据将其存储在MySQL中

第一个表单有一个名为“显示我的成绩”的命令按钮,如果我单击,我想显示表单2并显示成绩。它确实有效,但如果我没有输入任何等级,然后我点击“显示我的等级”按钮它崩溃我不知道错误。我尝试使用代码“if READER.HasRows Then: 但它仍然无法运作 如果READER还试过。然后: 其他MessageBox.Show(“目前没有成绩输入”) 请帮忙。

这是我在表单1中的命令按钮中的当前代码。

Me.Visible = False
Form2.Show()


    MySqlConn = New MySqlConnection
        MySqlConn.ConnectionString = "server=localhost;userid=root;password=qwerty;database=ssg"
        Dim COMMAND As New MySqlCommand
        Dim READER As MySqlDataReader
        MySqlConn.Open()
        COMMAND.Connection = MySqlConn
        COMMAND.CommandText = "select grade from gradetable"
        READER = COMMAND.ExecuteReader
        Form2.TextBox1.Text = READER("grade")                             
        End Sub

只要我先输入成绩,它就可以正常工作,但是如果我没有输入任何等级,它就会崩溃。

如果我点击表格1中的“显示我的成绩”按钮而不输入表格2中的成绩,我想只显示一条消息“你目前还没有成绩”

请帮忙。

1 个答案:

答案 0 :(得分:0)

  1. 具有匹配结束使用的Using语句。这取代了Dim。即使出现错误,它也可确保正确关闭和处理对象。这对于应尽快关闭的连接尤为重要。

  2. 我使用连接的构造函数来传递连接字符串。设置属性很好。这只是保存了一行代码。

  3. 与命令构造函数相同。它可以采用命令文本和连接。节省一点打字。

  4. 你有正确的想法;使用.HasRows。您只需添加READER.Read即可获得第一条记录,如jmcilhinney的评论中所述。

  5. Private Sub GetGrade()
        Using MySqlConn As New 
            MySqlConnection("server=localhost; userid=root; password=qwerty; database=ssg")
            Using COMMAND As New MySqlCommand("select grade from gradetable", MySqlConn)
                MySqlConn.Open()
                Using READER As MySqlDataReader = COMMAND.ExecuteReader
                    If READER.HasRows Then
                        READER.Read()
                        Form2.TextBox1.Text = READER("grade")
                    Else
                        MessageBox.Show("Sorry, no grade yet.")
                    End If
                End Using
            End Using
        End Using
    End Sub