2012-11-18 45 views
2

我一直在我的代碼的一行中出現此錯誤,我似乎無法修復它。數組邊界不能出現在類型說明符中

這裏是我的代碼:

con.Open() 
    Dim dt As DataTable 
    Dim ds As DataSet 
    ds.Tables.Add(dt) 
    Dim da As OleDbDataAdapter 

    da = New OleDbDataAdapter("Select From * product info", con) 
    da.Fill(dt) 

    Dim newRow As DataRow = dt.NewRow 
    With newRow 
     .Item("Product Name:") = txtItemName.Text 
     .Item("Description") = txtDescription.Text 
     .Item("Quantity:") = txtItemCount.Text 
     .Item("Type:") = cmbItemType.Text 
     .Item("Date Received:") = txtDate.Text 
     .Item("Barcode:") = txtBarcode.Text 
     .Item("Price:") = txtPrice.Text 
    End With 

    dt.Rows.Add(newRow) 
    Dim cb As OleDbCommandBuilder(da) 
    da.Update(dt) 
    con.Close() 

Dim cb As OleDbCommandBuilder(da)線我上da

回答

4

您有混合變量CB的初始化和聲明中的錯誤。
正確的語法使用的是

Dim cb As OleDbCommandBuilder = new OleDbCommandBuilder(da) 

Dim cb As OleDbCommandBuilder  'declaration 
cb = new OleDbCommandBuilder(da) 'initialization 

Dim cb As New OleDbCommandBuilder(da) 
+1

雖然兩者的工作,在VB建議既不方式(如下面康拉德解釋)! 「正確」的方式是合同聲明和初始化:'Dim cb As New OleDbCommandBuilder(da)'。你展示的第一種方法簡直是不必要的冗長。第二個缺點是它不必要地分離聲明和初始化。這是不該做的事情。 –

+0

謝謝你的回答史蒂夫。我修復了這個錯誤,但我不斷收到更多錯誤。你能建議一個代碼或頁面,顯示如何將數據插入ms訪問數據庫的代碼? –

+0

@KonradRudolph,這只是爲了清楚。 downvote似乎有點異常。然而,我會添加你的答案 – Steve