我使用 MySQL 5.0 作为后端。我在我的项目中使用 MySqlData.dll。当我尝试执行以下代码时,
尝试一下 Dim cnData 作为新的 MySql.Data.MySqlClient.MySqlConnection Dim lcmd, lcmd1 作为新的 MySql.Data.MySqlClient.MySqlCommand 暗淡 ldr,ldr1 作为 MySql.Data.MySqlClient.MySqlDataReader
cnData.ConnectionString = "SERVER=localhost;Uid=root;Pwd=root;Database=mytestdatabase"
cnData.Open()
lcmd = New MySql.Data.MySqlClient.MySqlCommand("select uom_id,uom_name from uom", cnData)
ldr = lcmd.ExecuteReader
While ldr.Read
lcmd1 = New MySql.Data.MySqlClient.MySqlCommand("select uom_id,uom_name from uom1 where uom_id=" & ldr.Item("uom_id") & "", cnData)
ldr1 = lcmd1.ExecuteReader
While ldr1.Read
MsgBox(ldr1.Item("uom_id"))
MsgBox(ldr1.Item("uom_name"))
End While
ldr1.Close()
End While
ldr.Close()
con.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
我收到错误消息“已经有一个与此连接关联的 OpenDataReader,必须首先关闭该连接。”我必须使用重叠的多个数据读取器。我哪里出错了?任何人都可以帮助我吗?这对我很有帮助。
西瓦库玛.P
最佳答案
此代码相当于您正在尝试执行的操作:
Try
Dim cnData As New MySql.Data.MySqlClient.MySqlConnection
Dim lcmd As MySql.Data.MySqlClient.MySqlCommand
Dim ldr As MySql.Data.MySqlClient.MySqlDataReader
cnData.ConnectionString = "SERVER=localhost;Uid=root;Pwd=root;Database=mytestdatabase"
cnData.Open()
lcmd = New MySql.Data.MySqlClient.MySqlCommand("select uom1.uom_id, uom1.uom_name from uom join uom1 ON uom.uom_id = uom1.uom_id ORDER BY uom_id", cnData)
ldr = lcmd.ExecuteReader
While ldr.Read
MsgBox(ldr.Item("uom_id"))
MsgBox(ldr.Item("uom_name"))
End While
ldr.Close()
cnData.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
关于c# - 在 VB.NET 2005 或 C#.NET 2005 中使用多个数据读取器,并以 MySQL 5.0 作为后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/692254/