2014-09-22 97 views
1

改寫在VB 2013 Express中的遺留系統,它可以連接到Access數據庫。我已經建立了數據連接並且有一個包含所有表的數據集。代碼需要做到以下幾點:VB 2013 Access數據庫數據集

刪除「提取物」表中的所有行; 讀入並解析新數據; 將新數據寫入「提取」表格。

我有閱讀和分析部分做了,但我需要與刪除和寫作部分幫助。沒有我嘗試似乎工作。

這是我已經試過:

Dim sqlConnection1 As New System.Data.SqlClient.SqlConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\CLI_CRVM.accdb") 
Dim cmd As New System.Data.SqlClient.SqlCommand() 
cmd.CommandType = System.Data.CommandType.Text 
cmd.CommandText = "DELETE FROM extract" 
cmd.Connection = sqlConnection1 
+0

呃,我甚至無法正確使用此論壇!我試過這樣:昏暗sqlConnection1作爲新System.Data.SqlClient.SqlConnection( 「供應商= Microsoft.ACE.OLEDB.12.0;數據源= | DataDirectory目錄| \ CLI_CRVM.accdb」) 昏暗CMD作爲新System.Data.SqlClient的.SqlCommand cmd.CommandType = System.Data.CommandType.Text cmd.CommandText = 「DELETE FROM提取物」 cmd.Connection = sqlConnection1 – user3850146 2014-09-22 13:42:51

+0

我試圖刪除單個行這種方式:「昏暗數據集1作爲新的數據集1() 昏暗extractTableAdapter As New DataSet1TableAdapters.extractTableAdapter() extractTableAdapter.Delete(1) extractTableAdapter.Update()' – user3850146 2014-09-22 13:54:05

+0

使用MS Access時,確保所有SQL命令都以';'結尾。 IE,「刪除提取;」。沒有這些,他們不會執行。 – Steve 2014-09-22 14:09:05

回答

2

您嘗試使用System.Data.SqlClient,但是這是專門爲微軟SQL Server數據庫的工作。您問題中的示例代碼將失敗

不支持的關鍵字:'provider'。

對於到Access數據庫的OLEDB連接,請使用System.Data.OleDb

+0

感謝您的幫助 - 這是關鍵。但是,即使代碼運行並且ExecuteNonQuery返回'10',行也不會被刪除。我可以在數據庫上手動運行SQL。有任何想法嗎? – user3850146 2014-09-22 21:17:48

+0

@ user3850146確保您的'OleDbConnection'已正確關閉。在[Using](http://msdn.microsoft.com/en-ca/library/htd05whh.aspx)塊中處理連接被認爲是一種很好的形式。我更喜歡顯式地使用'.Close()',儘管其他人提倡使用Using塊的結尾會自動爲你的連接「.Close()」。 – 2014-09-22 21:32:54

+0

以下是我得到的: Dim sqlConnection As New System.Data.OleDb.OleDbConnection(「Provider = Microsoft.ACE.OLEDB.12.0; Data Source = | DataDirectory | \ CLI_CRVM.accdb」) Dim cmd As New System .Data.OleDb.OleDbCommand() cmd.CommandType = System.Data.CommandType.Text cmd.CommandText = 「DELETE * FROM [提取];」 cmd.Connection = SqlConnection的 昏暗INTRC作爲整數 sqlConnection.Open() INTRC = cmd.ExecuteNonQuery() 「了SQLConnection.close() MSGBOX(INTRC) – user3850146 2014-09-22 22:43:08