使用mySQL查询结果作为VB中的变量

时间:2012-03-15 16:43:07

标签: mysql vb.net

我是VB.net的新手,我发现将sql查询结果(字符串)传递给变量非常困难。

无论我尝试什么,我的阅读器功能似乎都没有得到任何东西。

我需要从员工表中获取员工“帐户类型”,然后在变量中定义该帐户类型。

有什么建议吗?

感谢。

1 个答案:

答案 0 :(得分:4)

这是一个关于一起使用MySQL和VB的好教程:

您可能感兴趣的这篇文章:

Sub Main()

    Dim cs As String = "Database=testdb;Data Source=localhost;" _
        & "User Id=testuser;Password=test623"

    Dim conn As New MySqlConnection(cs)

    Try
        conn.Open()
        Dim stm As String = "SELECT * FROM Authors"
        Dim cmd As MySqlCommand = New MySqlCommand(stm, conn)
        Dim reader As MySqlDataReader = cmd.ExecuteReader()

        While reader.Read()
            Console.WriteLine(reader.GetInt32(0) & ": " _ 
                & reader.GetString(1))
        End While

        reader.Close()

    Catch ex As MySqlException
      Console.WriteLine("Error: " & ex.ToString())
    Finally
      conn.Close()
    End Try

End Sub

请注意MySqlDataReaderreader)对象。这使您可以获得各种类型的数据。您需要知道正在阅读的列类型,并使用适当的方法。

例如,如果你正在读一个布尔值,你会写:

reader.GetBoolean(0)

或日期时间:

reader.GetDateTime(0)

此示例使用int参数表示列号,但我发现这不如使用列名更直观。幸运的是MySqlDataReader也支持列名:

reader.GetString("account_type")

该示例未显示将这些值读入变量,但它非常简单:

Dim accountType As String
...
accountType = reader.GetString("account_type")

(这假设您的帐户类型列是字符串。)

希望这有助于您走上正确的轨道。