-2

我使用以下代码将记录从一个数据库插入到另一个数据库,但它不起作用。我在 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();

当我获取query_insertin ms 访问的内容时,它工作正常。

4

4 回答 4

3

我认为你需要使用

cmd_insert.executeNonQuery()
于 2013-03-25T15:06:38.577 回答
1

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

"SELECT BranchName,Factor,Region,Branch_ID,Current_Date,No_Employees"
于 2013-03-25T15:17:35.600 回答
0

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

于 2013-03-25T15:12:15.620 回答
0

这似乎很可疑:

 " Where Branch_ID = " + textBox1.Text ;

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

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

如果您的公司使用 ID 开设分支机构会发生什么情况

"1; DROP TABLE Branches"
于 2013-03-25T18:25:56.007 回答