如何使用单个MySQL连接执行多个SQL查询?
在这种情况下,最简单的解决方案是使用单个SQL查询:如何使用单个MySQL连接执行多个SQL查询?,mysql,vb.net,Mysql,Vb.net,在这种情况下,最简单的解决方案是使用单个SQL查询: Imports System.Data Imports MySql.Data.MySqlClient Public Class Form4 Dim MysqlConn As MySqlConnection Dim COMMAND As MySqlCommand Dim Command1 As MySqlCommand Dim reader As MySqlDataReader Private Sub F
Imports System.Data
Imports MySql.Data.MySqlClient
Public Class Form4
Dim MysqlConn As MySqlConnection
Dim COMMAND As MySqlCommand
Dim Command1 As MySqlCommand
Dim reader As MySqlDataReader
Private Sub Form4_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
MysqlConn = New MySqlConnection
MysqlConn.ConnectionString = "server=localhost;userid=root;password=asdf1j2k;database=abeetha"
Try
MysqlConn.Open()
Dim sql As String
Dim sql1 As String
sql = "SELECT SurName FROM a"
sql1 = "select UserName from a"
COMMAND = New MySqlCommand(sql, MysqlConn)
Command1 = New MySqlCommand(sql, MysqlConn)
reader = COMMAND.ExecuteReader()
reader = Command1.ExecuteReader()
If (reader.Read()) Then
For i As Integer = 0 To DataGridView1.Rows().Count - 1
DataGridView1.Rows(i).Cells(0).Value = reader.GetString("SurName")
DataGridView1.Rows(i).Cells(1).Value = reader.GetString("UserName")
Next
End If
MysqlConn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
MysqlConn.Dispose()
End Try
End Sub
End Class
那么您只需要一个MySqlCommand
:
sql = "SELECT SurName,UserName FROM a"
如果要分别执行两个不同的SQL查询,还应创建一个单独的MySqlDataReader
:
COMMAND = New MySqlCommand(sql, MysqlConn)
reader = COMMAND.ExecuteReader()
Dim reader1 As MySqlDataReader
然后:
COMMAND=newmysqlcommand(sql,MysqlConn)
'请注意,您使用了sql变量而不是sql1
Command1=新的MySqlCommand(sql1,MysqlConn)
reader=COMMAND.ExecuteReader()
reader1=Command1.ExecuteReader()
然后,在读取值时,应使用相应的读取器
:
COMMAND = New MySqlCommand(sql, MysqlConn)
reader = COMMAND.ExecuteReader()
Dim reader1 As MySqlDataReader
一般编码注意事项:请使用一致且可理解的命名,因为使用
sql
和sql1
一点也不清楚,而且很容易产生错误(如您所犯的错误,使用sql
而不是sql
)。此外,使用大写变量名(例如,命令
)并不常见,可能会造成混淆。请参见示例
如果使用执行多个查询;最后你可以用这个例子
使您的代码可读且易于理解。读一下这个