2014-10-18 75 views
-1

即時嘗試從兩個不同的數據庫表填充2 ComboBox es,但我的代碼似乎不工作,我應該在這裏做什麼?如何在VB.NET中使用不同數據庫表填充兩個組合框

代碼:

Dim st As String = "server=localhost;user id=root;database=db;password=root" 
    Dim con As New MySqlConnection(st) 
    con.Open() 
    Dim se As String = "select * FROM tbl1 as t1, tbl2 as t2 WHERE t1.col=t2.col" 
    Dim cmd As New MySqlCommand(se, con) 
    Dim dr As MySqlDataReader = cmd.ExecuteReader() 
    While dr.Read() 

     ComboBox1.Items.Add(dr("col1")) 
     ComboBox2.Items.Add(dr("col1")) 
    End While 
    con.Close() 

回答

0

你的代碼創建第一個表,並使用舊式第二個表之間的連接加入一個已棄用的語法。你得到的結果只有一個結果,沒有兩個表。請查看old style JOINs中使用的語法和JOIN表的正確方法。

但是,如果你想設置的數據來自兩個不同的表來你的連擊,而不執行兩種不同的命令,你可以寫

Dim st = "server=localhost;user id=root;database=db;password=root" 
Dim cmdText = "select colFromTbl1 FROM tbl1; SELECT colFromTbl2 from tbl2" 
Using con = New MySqlConnection(st) 
Using cmd = New MySqlCommand(con, cmdText) 
    con.Open() 
    Using dr = cmd.ExecuteReader() 
     While dr.Read() 
     ComboBox1.Items.Add(dr("colFromTbl1")) 
     End While 
     dr.NextResult() 
     While dr.Read() 
     ComboBox2.Items.Add(dr("colFromTbl2")) 
     End While 
    End Using 
End Using 
End Using 
+0

這是一個教訓,謝謝! – 2014-10-18 15:09:15

相關問題