質問

INSERT INTO tblExcel (ename, position, phone, email) VALUES ('Burton, Andrew', 'Web Developer / Network Assistant', '876-9259', 'aburton@wccs.edu')

5 つのフィールドを持つ Access テーブルがあります。ID、名前、役職、電話番号、電子メール...それぞれは 50 文字のプレーン テキスト フィールドで、255 の役職と自動インクリメント フィールドである ID を保存します。VB.NET を使用して Excel テーブルからデータを読み取り、クエリを埋めるために使用される単純なクラスにプッシュされます。他の 2 つのテーブルでも同じことを行います。これらのテーブルのデータは、DB2 テーブルと MySQL テーブルから取得されます。他の 2 つは機能しますが、この単純な INSERT ループは失敗し続けるため、私の「InsertNoExe」関数がすべての OleDb 機能を処理しているとは思えません。

それで、そのクエリ、フィールドのタイトルなどを調べます。偽物に見える?誰かが見たい場合は、他のコードを投稿することもできます。

編集: 修理済み。ワイド画像がスタック オーバーフローのバグとしてカウントされるかどうかはわかりませんでした。そのため、そのままにしておきました。

編集2: 私は濃いです。try...catch を使用して偽のクエリを確認しますが、ex.message はチェックしません。ギャー。

INSERT INTO tblExcel (ename, position, phone, email) VALUES ('Burton, Andrew', 'Web Developer / Network Assistant', '876-9259', 'aburton@wccs.edu')

   at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr)
   at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
   at EmployeeList.EmployeeDatabase.ExeNonQuery(String sql) in C:\andy\html\code\vb\EmployeeList\EmployeeDatabase.vb:line 263

Syntax error in INSERT INTO statement.

編集3: ありがとう、クリス。

役に立ちましたか?

解決

「位置」は予約語だと思います。

試す...

tblExcel に INSERT (名前、[役職]、電話番号、電子メール) VALUES (...

予約語

他のヒント

「Web Developer / Network Assistant」の間隔が少しおかしいように見えます。おそらくそこに隠れた文字 (キャリッジリターン?) があるのでしょう。

スラッシュを削除して挿入が機能するかどうかを確認し、機能しない場合はすべての句読点を削除してみます。その後、それを再度追加すると、バグを特定できる可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top