2014-10-18 1 views
-1

메신저가 2 개의 다른 데이터베이스 테이블에서 2 ComboBox을 채우려고 시도했지만 코드가 작동하지 않는 것 같습니다. 어떻게해야합니까?VB.NET에서 다른 DB 테이블로 두 개의 콤보 박스를 채우는 방법

코드 :

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

, 감사를 작성할 수 있습니다! –

관련 문제