将MySQL表复制到VB.NET中的数组或集合中

时间:2012-01-29 15:37:28

标签: mysql vb.net

我想知道如何将包含多个列和行的表复制到VB.NET中的数组或集合中。

我想知道最佳解决方案,因为我想将代码用于2个不同的表并进行一些比较,而第二个表有太多记录。

我想知道在VB.NET中是否有类似于java中使用的Hashmap的东西,而且表格看起来如下所示

{(Mon, 8, 12); (Tue, 8, 9); etc...}

此外,在将值放入数组或任何集合后,如何将这些值重新插入名为“x”的表中?

1 个答案:

答案 0 :(得分:0)

首先,您需要从MySQL主页下载MySQL connector for .NET。然后添加对MySQL.Data.dll的引用。您还需要引用System.data.dll,但默认情况下会在新的VB项目中设置此引用。

导入MySQL连接器的命名空间

Imports MySql.Data.MySqlClient

访问这样的记录

Dim connStr As String = "server=myserver;user id=user;password=secret;database=mydb"
Using conn As New MySqlConnection(connStr)
    Using cmd As New MySqlCommand("SELECT * FROM mytable", conn)
        conn.Open()
        Using reader As MySqlDataReader = cmd.ExecuteReader()
            While reader.Read()
                Console.WriteLine("{0}, {1}", reader.GetString(0), reader.GetString(1))
            End While
        End Using
    End Using
End Using

您可以插入此类记录

Dim sql As String = "INSERT INTO mytable (FirstName, LastName) VALUES (?fn, ?ln)"
Using conn As New MySqlConnection(connStr)
    Using cmd As New MySqlCommand(sql, conn)
        cmd.Parameters.Add("?fn", MySqlDbType.VarChar, 80).Value = "John"
        cmd.Parameters.Add("?ln", MySqlDbType.VarChar, 80).Value = "Doe"
        conn.Open()
        cmd.ExecuteNonQuery()
    End Using
End Using 

使用更新声明

更新记录的工作方式相似
UPDATE mytable SET LastName = "Meyers" WHERE id = 55

VB List(Of T)对应于java ArrayList<E>

VB Dictionary(Of TKey, TValue)对应于java HashMap<K,V>