2017-05-12 9 views
0

のDataGridView負荷に同じテーブルを繰り返し:私のDataGridViewのは、それが4回

Private Sub omplir_taula() 

     obrir_conecció() 
     Taula.DataSource = Nothing 
     Taula.Rows.Clear() 
     Taula.Columns.Clear() 

     da = New OleDbDataAdapter("Select * from Incidencies,Departaments ", myConnection) 
     da.Fill(ds, "Incidencies") 

     Dim view1 As New DataView(tables(0)) 
     source1.DataSource = view1 
     Taula.DataSource = view1 
     Taula.Refresh() 


    End Sub 

私の問題は、コードが4回データテーブルを繰り返し、私はなぜ知らないんです。

答えて

0

私はこの問題は、クエリだと思う:

Select * from Incidencies,Departaments 

これは単なるCartesian productで、その結果、2つのテーブルを結合します。あなたがしなければならないことは、2つのテーブルを適切な方法で結合することです。

例:クエリで

Table A: 
Id=1; name='test1' 
Id=2; name='test2' 

Table B: 
Id=1; fkId=1; item='item1' 
Id=2; fkId=2; item='item2' 

Select * from A,B 

結果は次のようになります。

Id=1; name='test1'; Id=1; fkId=1; item='item1' 
Id=1; name='test1'; Id=2; fkId=2; item='item2' 
Id=2; name='test2'; Id=1; fkId=1; item='item1' 
Id=2; name='test2'; Id=2; fkId=2; item='item2' 

に参加して:

Select * from A 
Inner Join B on A.Id=B.fkId 

が返されます。

Id=1; name='test1'; Id=1; fkId=1; item='item1' 
Id=2; name='test2'; Id=2; fkId=2; item='item2' 
関連する問題