Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用单个MySQL连接执行多个SQL查询?_Mysql_Vb.net - Fatal编程技术网

如何使用单个MySQL连接执行多个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

在这种情况下,最简单的解决方案是使用单个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 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
)。此外,使用大写变量名(例如,
命令
)并不常见,可能会造成混淆。请参见示例

如果使用执行多个查询;最后你可以用这个例子


使您的代码可读且易于理解。读一下这个