2014-09-25 104 views
0

我需要在VB中編寫一些連接兩個或更多mdb數據庫的東西,但我不知道我該怎麼做。我想我必須加載所有的數據庫來連接表格。並將其另存爲「.mdb」(我不知道這些命令 - 我想我可以找到它們,但是如果您可以在這裏發佈它們會很好)。 我GOOGLE了,但我不能找到正確的答案 - 就像我現在用的是錯誤的話我的問題......如何在Visual Basic中連接兩個或多個數據庫?

這將是非常好的,如果你能幫助我:)

數據庫例如:
DB1:
-DB1_Table1
-DB1_Table2
-DB1_Table3

DB2:
-DB2_Table1
-DB2_Table2
-DB2_Table3

ConnectedDB(DB1 =主/ DB2 =從):
-DB1_Table1 + DB2_Table1
-DB1_Table2
-DB1_Table3 + DB2_Table3

+1

[你嘗試過什麼嗎?](http://whathaveyoutried.com)假設你是使用'DAO',你可以在你的代碼中擁有多個'Database'對象(我想你可以對'ADO'做同樣的處理) – Barranka 2014-09-25 20:56:58

+1

將數據庫分成不同的層(每個層都有獨立的類),每一個都連接到它們的DB ,調用代碼要求從它選擇的數據庫類中獲取數據。連接到數據庫是通過連接字符串和某種形式的數據庫對象(即實體框架,ADO等)來完成的...... – OneFineDay 2014-09-25 21:06:01

+0

如果我想要做我上面寫的內容,那麼我有什麼搜索?我已經使用OLEDB連接來顯示數據庫中的內容,但我不知道如何連接它們。我讀過「加入」,「連接」,「插入」和「更新」,但我無法找到什麼是正確的我的問題... – Rasalas 2014-09-25 21:24:43

回答

2

在「C:\用戶\公共\測試\ DB1 .MDB」我有[DB1_Table1含有

ID DB1_Text 
-- -------------- 
1 value from DB1 

在 「C:\用戶\公共\測試\ DB2.mdb」 我有[DB2_Table1含有

ID DB2_Text 
-- -------------- 
1 value from DB2 

在VB.NET下面的代碼...

Using con As New OleDbConnection 
    con.ConnectionString = 
      "Provider=Microsoft.ACE.OLEDB.12.0;" & 
      "Data Source=C:\Users\Public\test\DB1.mdb;" 
    con.Open() 
    Using cmd As New OleDbCommand 
     cmd.Connection = con 
     cmd.CommandText = 
       "SELECT " & 
        "DB1_Table1.DB1_Text, " & 
        "DB2_Table1.DB2_Text " & 
       "FROM " & 
        "DB1_Table1 " & 
        "INNER JOIN " & 
        "[;Database=C:\Users\Public\test\DB2.mdb].DB2_Table1 " & 
         "ON DB1_Table1.ID = DB2_Table1.ID" 
     Dim rdr As OleDbDataReader = cmd.ExecuteReader 
     Do While rdr.Read 
      Console.WriteLine(rdr("DB1_Text") & " | " & rdr("DB2_Text")) 
     Loop 
    End Using 
    con.Close() 
End Using 

...產生

value from DB1 | value from DB2 
+0

非常感謝 - 我會嘗試<3似乎是「內部連接」我正在尋找... – Rasalas 2014-09-27 11:28:19