2014-09-22 61 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