我在练习用visualbasic编程。visualbasic有两种形式。第一个窗体有一个命令按钮,它将显示第二个窗体的输入数据第二个窗体有一个文本框,我需要在其中输入数据并保存它。
我在第二个表单中输入的数据存储在mysql中
第一个窗体有一个名为“显示我的成绩”的命令按钮,如果我单击该按钮,我想显示窗体2并显示成绩。但是如果我没有输入任何分数,然后我点击“显示我的分数”按钮,它就会崩溃,我不知道错误。我试过使用代码“if reader.hasrows then:但仍然不起作用也试过if reader.read then:else 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条答案
按热度按时间oogrdqng1#
具有匹配结尾using的using语句。这是在黑暗的地方。它可以确保您的对象被正确关闭和处置,即使有错误。这对于应尽快关闭的连接尤其重要。
我使用连接的构造函数传入连接字符串。设置属性很好。这只保存了一行代码。
与命令构造函数的想法相同。它可以接受命令文本和连接。省去了一点打字。
你的想法是对的;使用
.HasRows
. 你只需要添加READER.Read
如jmcilhinney在评论中所解释的那样,获得第一个记录。