Использование нескольких хранилищ данных в VB.NET 2005 или C # .NET 2005 с MySQL 5.0 в качестве серверной части - PullRequest
0 голосов
/ 28 марта 2009

Я использую MySQL 5.0 в качестве серверной части. Я использую MySqlData.dll в моем проекте. Когда я пытаюсь выполнить следующий код,

Try Dim cnData As New MySql.Data.MySqlClient.MySqlConnection Dim lcmd, lcmd1 As New MySql.Data.MySqlClient.MySqlCommand Dim ldr, ldr1 As 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, который должен быть закрыт первым». Я должен использовать несколько перекрывающихся данных. Где я ошибся? Кто-нибудь может мне помочь. Это очень поможет мне.

Sivakumar.P

1 Ответ

1 голос
/ 28 марта 2009

Этот код является эквивалентом того, что вы пытаетесь сделать:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...