2012-03-18 66 views
0

我已成功地只插入值1,我在數據庫中插入第一個值。 的問題是,我在組合框大於1倍的值,但它只是插入的第一個。如何插入從Access數據庫的組合框的值在Visual Basic 2010

這是我的代碼有:

Dim query1 As New OleDbCommand(" SELECT MembrosCompasso.BI, MembrosCompasso.Ano FROM Compasso INNER JOIN MembrosCompasso ON Compasso.idCompasso = MembrosCompasso.idCompasso WHERE [email protected] ", con) 
     query1.Parameters.Add("@BI", OleDbType.VarChar).Value = BI.Text 
     Dim dr1 As OleDbDataReader = query1.ExecuteReader 

     Try 
      If dr1.HasRows Then 
       dr1.Read() 
       Ano.Items.Item.add(dr1("Ano")) 
      Else 
       MsgBox("Não exsitem registos!") 
      End If 
     Catch ex As Exception 
      ' tratamento de erros 
     Finally 
      dr.Close() 
      con.Close() 
     End Try 

回答

0

當你使用DataReader,通過每次一行當前位置前進調用.Read方法,你不會在所有的記錄讀者提供一個呼叫。 Read返回一個布爾值,告訴你它是否成功與否,讓你知道你是否能前進到下一個記錄,所以你的代碼應該看起來更像是:

... 
If dr1.HasRows Then 
    'Loop around the reader until we run out of rows 
    While dr1.Read 
     'Add each rows' item to the combobox 
     Ano.Items.Item.add(dr1("Ano")) 
    End While 
Else 
... 
+0

它的工作日Thnx alote – 2012-03-18 20:29:49

+0

@ P.Campos沒問題。你應該把它標記爲接受的答案,點擊左邊的刻度。 – PhilPursglove 2012-03-19 09:48:26

相關問題