
【開発言語】
・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も見ています
-
Access2010 「演算子がありません」エラー
その他(データベース)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
構文エラー:演算子がありません。 ACCESS SQL
その他(データベース)
-
-
4
ACCESS VBAの実行時エラーなんですが
PowerPoint(パワーポイント)
-
5
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
6
構文エラー : 演算子がありません。
その他(データベース)
-
7
VBでSQL文のUPDATE構文を使った時のエラーについて
Visual Basic(VBA)
-
8
INSERT INTOステートメント構文エラーについての質問です
Visual Basic(VBA)
-
9
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
10
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
11
Access サブフォームでの選択行の取得
その他(データベース)
-
12
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
13
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
14
【Access】クエリで抽出したデータをCSV形式でエクスポートできますか?
Access(アクセス)
-
15
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
16
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
17
どこにもフォーカスを当てたくない
Access(アクセス)
-
18
Accessレポートのチェックボックスを大きくする方法
Access(アクセス)
-
19
Access で半角スペースと全角スペースの区別について
Access(アクセス)
-
20
Access2000、これはいったい・・・・
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
インポート時のエラー「データ...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
VBAでfunctionを利用しようとし...
-
「実行時エラー '3167' レコー...
-
マクロOn Error GoTo ErrLabel...
-
実行時エラー'-2147467259(8000...
-
Findプロパティを取得できません
-
VB.net 重複チェックがしたいです
-
クラスモジュールからのErr.Rai...
-
文字列内で括弧を使うには
-
VB2008 comboboxを連動させた...
-
オブジェクト型の変数にフォー...
-
String""から型'Double'への変...
-
VBA エクセル で FIND でのエラ...
-
Excel実行時エラー[80004005]に...
-
SQLでエラーです。
-
JAVA Jasper Report でのQRコー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロOn Error GoTo ErrLabel...
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
String""から型'Double'への変...
-
文字列内で括弧を使うには
-
マクロで"#N/A"のエラー行を削...
-
Excel vbaについての質問
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
インポート時のエラー「データ...
-
【VBAエラー】Nextに対するFor...
-
ACCESSで値を代入できないとは?
-
【Access】Excelインポート時に...
-
VBでSQL文のUPDATE構文を使った...
-
【VB.NET】 パワポ操作を非表示で
-
「実行時エラー '3167' レコー...
-
実行時エラー 438 の解決策をお...
-
実行時エラー'-2147467259(8000...
おすすめ情報