Mysql 我怎样才能得到关于这个帐户的所有信息
我已经尝试了很多次来解决这个错误,但它是无用的 我只想得到这个帐户上的其他名字,他们都通过帐户id链接 我尝试过这段代码,但它只显示了第一个用户 注意:Login.Label2.text=id帐户Mysql 我怎样才能得到关于这个帐户的所有信息,mysql,vb.net,Mysql,Vb.net,我已经尝试了很多次来解决这个错误,但它是无用的 我只想得到这个帐户上的其他名字,他们都通过帐户id链接 我尝试过这段代码,但它只显示了第一个用户 注意:Login.Label2.text=id帐户 感谢所有在使用连接和命令的方法中声明它们。需要关闭并释放数据库对象使用…结束使用块为我们处理此问题 在之前不要打开连接。执行… 始终使用参数构建sql字符串以避免sql注入从不连接字符串 不要使用DataReader更新用户界面。DataReader需要打开的连接,而您不希望将连接保持打开这么长时间
感谢所有在使用连接和命令的方法中声明它们。需要关闭并释放数据库对象<代码>使用…结束使用块为我们处理此问题 在
之前不要打开连接。执行…
始终使用参数构建sql字符串以避免sql注入从不连接字符串
不要使用DataReader
更新用户界面。DataReader
需要打开的连接,而您不希望将连接保持打开这么长时间
我已将数据库代码与用户界面代码分离。这将使它更易于维护
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim dt As DataTable
Try
dt = GetPlayerData(Login.Label2.Text)
Catch ex As Exception
MessageBox.Show(ex.Message)
Return
End Try
'I am guessing that "name" is a name of a field
Label4.Text = dt(0)("name").ToString
Label1.Text = dt(1)("name").ToString
Label2.Text = dt(2)("name").ToString
Label3.Text = dt(3)("name").ToString
End Sub
Private Function GetPlayerData(ID As String) As DataTable
Dim dt As New DataTable
Using cn As New MySqlConnection(ConStr),
cmd As New MySqlCommand("Select *FROM player.player Where account_id= @ID;", cn)
cmd.Parameters.Add("@ID", MySqlDbType.VarChar).Value = ID
cn.Open()
Using reader = cmd.ExecuteReader
dt.Load(reader)
End Using
End Using
Return dt
End Function
如果您想要的不仅仅是第一行,那么您需要循环阅读阅读器结果。如果找到并在标签文本上显示名称,请尝试循环阅读结果。当然,它只显示第一个用户,因为您只读取第一条记录,如果您对使用数据读取器做过任何研究,那么您知道对
Read
的每次调用都会从结果集中读取一条记录。如果要读取多条记录,则需要多次调用read
。MySqlDataReader
类的文档中甚至包含了一个代码示例,因此没有理由不知道。在未阅读相关文档之前,您不应在此处提问。
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim dt As DataTable
Try
dt = GetPlayerData(Login.Label2.Text)
Catch ex As Exception
MessageBox.Show(ex.Message)
Return
End Try
'I am guessing that "name" is a name of a field
Label4.Text = dt(0)("name").ToString
Label1.Text = dt(1)("name").ToString
Label2.Text = dt(2)("name").ToString
Label3.Text = dt(3)("name").ToString
End Sub
Private Function GetPlayerData(ID As String) As DataTable
Dim dt As New DataTable
Using cn As New MySqlConnection(ConStr),
cmd As New MySqlCommand("Select *FROM player.player Where account_id= @ID;", cn)
cmd.Parameters.Add("@ID", MySqlDbType.VarChar).Value = ID
cn.Open()
Using reader = cmd.ExecuteReader
dt.Load(reader)
End Using
End Using
Return dt
End Function