-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_insertミリ秒アクセスでコンテンツを取得すると、正常に動作します。

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 に答える