插入ms访问数据库

时间:2013-03-25 15:03:04

标签: c# ms-access

我使用以下代码将记录从一个数据库插入另一个数据库,但它不起作用。我尝试了MS-ACCESS 2007中的查询,它工作正常,但是当我从C#代码以编程方式调用时它不起作用?

string query_insert = "INSERT INTO Questionnaires_Table(BranchName,Factor,Region,Branch_ID,Current_Date,No_Employees) "
+ "SELECT BranchName,Factor,Region,Branch_ID,Current_Date,No_Employees "
+ "FROM Questionnaires_Table IN '" + dialog.FileName + "' Where Branch_ID = " + textBox1.Text ;

dbConnDest.Open();

OleDbDataAdapter dAdapter = new OleDbDataAdapter();
OleDbCommand cmd_insert = new OleDbCommand(query_insert, dbConnDest);

dAdapter.InsertCommand = cmd_insert;

textBox2.Text = query_insert.ToString();

dbConnDest.Close();

当我在ms访问中获取query_insert的内容时,它可以正常工作。

4 个答案:

答案 0 :(得分:3)

我认为你需要使用

cmd_insert.executeNonQuery()

答案 1 :(得分:1)

删除SELECT列表中最后一个字段名称后面的逗号。

"SELECT BranchName,Factor,Region,Branch_ID,Current_Date,No_Employees"

答案 2 :(得分:0)

dAdapter.Update(); 应该做的伎俩

答案 3 :(得分:0)

这似乎是可疑的:

 " Where Branch_ID = " + textBox1.Text ;

textBox1是否包含数字ID?输入的ID是否存在于源数据库中?

我会1)检查ID是否存在,如果不存在则警告用户,2)更改查询以使用参数而不是连接SQL。

如果贵公司开设ID为

的分行,会发生什么情况
"1; DROP TABLE Branches"