
【開発言語】
・C#
【開発環境】
・Vistual Studio 2005
【質問】
Access databaseに以下のコードでテーブル「Keyword」にレコードを登録しようとしたが、構文エラーが発生した。
--------------コード(ここから)-------------
strTmp = "[FM] Group failure for {%GUID}, but can't move. Failure count = {%Count}.";
strTmp1 = strTmp.Replace("'", "''");
strSQL = "INSERT INTO Keyword([EventID], [Keyword], [OrderNum]) VALUES(" + EventID + ", '" + strTmp1 + "', " + (num + 1) + ")";
--------------コード(ここまで)-------------
しかし、実行時にSQL構文エラーが発生した。
--------------エラーメッセージ(ここから)-------------
'System.Data.OleDb.OleDbException' の初回例外が System.Data.dll で発生しました。
例外発生。ex.Message = クエリ式 '', but can't move. Failure count = ')' の構文エラー : 演算子がありません。
--------------エラーメッセージ(ここまで)-------------
「'」を「''」にエスケープしたにもかかわらず、構文エラーが発生した理由が分かりません。デバッグでSQL文を表示させてみると:
strSQL = INSERT INTO Keyword([EventID], [Keyword], [OrderNum]) VALUES(99, '[FM] Group failure for {%GUID}, but can''t move. Failure count = {%Count}.', 1);
になっていますので、問題なさそうに見えます。
なお、興味深いのは
strTmp = "but can't move";
に変更した場合はSQL文が正常に実行されました!
やっぱり、「'」以外の何かの記号もエスケープする必要があったのでしょうか?
これから私自身も色々と切り分けしてみますが、もしご存知の方がいらっしゃいましたらぜひお知恵をお貸しください。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Access2010 「演算子がありません」エラー
その他(データベース)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
ACCESS VBAの実行時エラーなんですが
PowerPoint(パワーポイント)
-
-
4
構文エラー:演算子がありません。 ACCESS SQL
その他(データベース)
-
5
構文エラー : 演算子がありません。
その他(データベース)
-
6
Access サブフォームでの選択行の取得
その他(データベース)
-
7
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
8
VBAのAccessでDATE型のINSERT
その他(データベース)
-
9
【Access】クエリで抽出したデータをCSV形式でエクスポートできますか?
Access(アクセス)
-
10
SQLのmaxで求めた値を変数に代入する
Visual Basic(VBA)
-
11
アクセスでのキー違反とは??
Access(アクセス)
-
12
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
13
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
14
VBでSQL文のUPDATE構文を使った時のエラーについて
Visual Basic(VBA)
-
15
Access フォーム「使用可能」を「いいえ」にすると・・
その他(データベース)
-
16
サブフォームのイベント取得
Visual Basic(VBA)
-
17
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
18
どこにもフォーカスを当てたくない
Access(アクセス)
-
19
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
20
Accessでデータを更新したらその日付を自動入力したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
On ErrorでエラーNoが0
-
【VBA】ワークブックを開く時に...
-
.VBSだとADODBのプロバイダが見...
-
ASPでこんなエラーが出たんです...
-
お助けください!VBAのファイル...
-
mailstorehomeのエクスポートで...
-
pythonのopenpyxlについて
-
Excel VBA のFunctionプロシー...
-
VBA データ(特定値)のある最...
-
バッチファイルで、あるスクリ...
-
ステートメントが見つかりません
-
【Access】Excelインポート時に...
-
VB6 MSFlexGrid行数指定について
-
VBAのリストボックスで、横スク...
-
マクロの「SaveAs」でエラーが...
-
レコード登録時に「演算子があ...
-
実行時エラー '8021'とはどんな...
-
ある1人の友達のLINEで、少しの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
【VBA】ワークブックを開く時に...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
On ErrorでエラーNoが0
-
VBA データ(特定値)のある最...
-
インポート時のエラー「データ...
-
マクロで"#N/A"のエラー行を削...
-
VBAのリストボックスで、横スク...
-
ApplicationとWorksheetFunctio...
-
Excel vbaについての質問
-
「実行時エラー '3167' レコー...
-
実行時エラー 438 の解決策をお...
-
【VBAエラー】Nextに対するFor...
-
ACCESSで値を代入できないとは?
-
Filter関数を用いた結果、何も...
-
文字列内で括弧を使うには
-
【VB.NET】 パワポ操作を非表示で
-
レコード登録時に「演算子があ...
おすすめ情報