![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
【開発言語】
・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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
構文エラー:演算子がありません。 ACCESS SQL
その他(データベース)
-
INSERT INTOステートメント構文エラーについての質問です
Visual Basic(VBA)
-
-
4
accessの SQL文 INSERT命令
Access(アクセス)
-
5
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
6
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
7
VBAのAccessでDATE型のINSERT
その他(データベース)
-
8
Accessで数値型にNULLをInsertするとエラー
その他(データベース)
-
9
VBで使用するAccessのSQL(INSERT文)
その他(データベース)
-
10
SELECT 文 GROUP での1件目を取得
SQL Server
-
11
ウォッチ式の文字数制限について
Visual Basic(VBA)
-
12
ACCESS VBAの実行時エラーなんですが
PowerPoint(パワーポイント)
-
13
VBでSQL文のUPDATE構文を使った時のエラーについて
Visual Basic(VBA)
-
14
ACCESS2007 VBA 「INSERT INTO~」について
PowerPoint(パワーポイント)
-
15
Access2010 「演算子がありません」エラー
その他(データベース)
-
16
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
17
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
18
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
バッチファイルからVBA実行でエ...
-
VBAでfunctionを利用しようとし...
-
「実行時エラー '3167' レコー...
-
ある1人の友達のLINEで、少しの...
-
エクセルVBAで“createobject...
-
【VBA】ワークブックを開く時に...
-
IBM Notes9のメールをExcelVBA...
-
VBScript でのformat
-
VBAのリストボックスで、横スク...
-
VBA処理中に途中で止まってしま...
-
数字の全角文字を調べる
-
Application.ScreenUpdating = ...
-
データベース操作時エラーについて
-
Accessで「型が一致しません」...
-
実行時エラー '8021'とはどんな...
-
【ACCESS】オートナンバー振り...
-
EXCEL2000 VBA でエラートラッ...
-
String""から型'Double'への変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
マクロで"#N/A"のエラー行を削...
-
VBAでfunctionを利用しようとし...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
エクセル関数を教えてください
-
On ErrorでエラーNoが0
-
お助けください!VBAのファイル...
-
VBA データ(特定値)のある最...
-
【VBA】ワークブックを開く時に...
-
インポート時のエラー「データ...
-
実行時エラー'-2147467259(8000...
-
マクロの「SaveAs」でエラーが...
-
WindowsでのPythonの挙動について
-
ApplicationとWorksheetFunctio...
-
Excel vbaについての質問
-
エクセルVBA 「On Error GoTo...
-
Filter関数を用いた結果、何も...
-
ACCESSで値を代入できないとは?
おすすめ情報