2013-07-03 181 views
0

我正在嘗試使用vb.net寫入訪問2010數據庫。我有它的工作,但我不得不刪除舊的數據庫,並創建一個新的,而不是沒有工作。這裏是我的代碼有:寫入Access 2010數據庫

Dim ConnString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Forte\Fortedb.accdb" 
    Dim cnn As New OleDbConnection(ConnString) 
    cnn.Open() 

    'Naming the new Row in Query1. 
    Dim newQuery1Row As FortedbDataSet.Query1Row 
    newQuery1Row = Me.FortedbDataSet1.Query1.NewQuery1Row() 

    'Making the first row the date. 
    newQuery1Row.ProdDate = GlobalVariables.mdbProdDate 
    newQuery1Row.BaleLine = GlobalVariables.mdbBaleLine 
    newQuery1Row.BaleNumber = GlobalVariables.mdbBaleNumber 
    newQuery1Row.GrossWeight = GlobalVariables.mdbGrossWeight 
    newQuery1Row.AirDry = GlobalVariables.mdbAirDry 
    newQuery1Row.InvoiceWeight = GlobalVariables.mdbInvoiceWeight 

    'Adding the row to the table. 
    Me.FortedbDataSet1.Query1.Rows.Add(newQuery1Row) 

    cnn.Close() 

    'Saving the row in Access. 
    Me.Query1TableAdapter.Update(Me.FortedbDataSet1.Query1) 

當我做了我新的數據庫,我不得不做出新的的DataSetTableAdpater,而我也做出了新的數據庫的連接。我必須俯視一些東西。

+1

定義「它不工作」,什麼是異常信息?堆棧跟蹤? – EkoostikMartin

+0

它沒有給我一個錯誤信息。它運行良好,但不保存到我的數據庫。我不完全確定發生了什麼。 –

+0

很難說,沒有看到你如何定義數據集和表適配器 – EkoostikMartin

回答

0

我已經想通了。我決定用SQL語句解決問題。

Dim connection As OleDb.OleDbConnection mystr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Forte\Fortedb.accdb" connection = New OleDb.OleDbConnection(mystr) connection.Open() 'Inserting the data into the database. mydb = "INSERT INTO b_forte (ProdDate, BaleLine, BaleNumber, GrossWeight, AirDry, InvoiceWeight) VALUES ('" & mdbProdDate & "', '" & mdbBaleLine & "', '" & mdbBaleNumber & "', '" & mdbGrossWeight & "', '" & mdbAirDry & "', '" & mdbInvoiceWeight & "')" Dim run = New OleDb.OleDbCommand Try run = New OleDbCommand(mydb, connection) run.ExecuteNonQuery() connection.Close()