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

id、ename、position、phone、email の 5 つのフィールドを持つ Access テーブルがあります。各フィールドは 50 文字のプレーン テキスト フィールドで、位置は 255 で、id は自動インクリメント フィールドです。私は VB.NET を使用して Excel テーブルからデータを読み取ります。データは、そのクエリの入力に使用される単純なクラスにプッシュされます。他の 2 つのテーブルでも同じことを行います。これらのテーブルのデータは、DB2 テーブルと MySQL テーブルから取得されます。他の 2 つは機能しますが、この単純な INSERT ループは失敗し続けるため、すべての OleDb を処理するのは "InsertNoExe" 関数ではないと思います。

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

編集:修正。ワイド イメージがスタック オーバーフロー バグとしてカウントされるかどうかわからなかったので、残しました。

編集2:私は密です。私は try...catch を使用して偽のクエリを確認し、ex.messsage も確認しません。ガッ。

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:ありがとう、クリス。

4

2 に答える 2

5

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

試す...

tblExcelに挿入(ename、[position]、phone、email)VALUES(..。

予約語

于 2008-09-05T21:30:19.200 に答える
0

「WebDeveloper/Network Assistant」の間隔は少し不安定に見えますが、そこに隠れた文字があるかもしれません(キャリッジリターン?)

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

于 2008-09-05T21:20:11.830 に答える