2012-01-29 18 views
0

我想知道如何將具有多個列和行的表複製到VB.NET中的數組或集合中。在VB.NET中將MySQL表複製到數組或集合中

我想知道最好的解決方案,因爲我想使用2個不同的表的代碼並做一些比較,第二個表有太多的記錄。

我在想,如果在VB.NET有類似在Java中的HashMap用過的東西和一張桌子可能看起來像下面

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

而且把值在數組或任何收藏,怎麼能後我可能將這些值插入一個名爲「x」的表中?

+0

您是否在使用.NET Framework 4? – Ryan 2012-01-29 15:39:25

回答

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>

+0

感謝您的幫助,非常感謝。我想知道你是否可以幫我找到解決我的問題的方法。我有一個學生計劃表,其中包含以下記錄(計劃,工作日,時間,超時),另外還有一個記錄表(記錄點,工作日,時間,超時)。我想寫一個函數,可以從第一個表中查詢工作日期,時間,超時值,並檢查它們是否存在於第二個表中,如果它不存在,將爲隨機點分配一個新的工作日,timein和第一個表的超時時間。 – user1176607 2012-01-29 21:37:10

+0

如果某個點的記錄存在,它將創建一個不同隨機點的新記錄。點的數量固定爲30.當爲特定學生檢索第一個表格的時間表時,它將有許多行。該函數應該遍歷查詢的計劃。 – user1176607 2012-01-29 21:38:45

+0

您能否將這些評論轉換爲新問題?這會更容易理解,因爲你可以給出記錄和期望輸出的例子。另外,由於您是StackOverflow的新手,我想通知您,您可以通過選中答案旁邊的勾號來接受最能幫助您的答案。 – 2012-01-30 15:19:36

相關問題