【開発言語】
・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も見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
構文エラー:演算子がありません。 ACCESS SQL
その他(データベース)
-
INSERT INTOステートメント構文エラーについての質問です
Visual Basic(VBA)
-
-
4
accessの SQL文 INSERT命令
Access(アクセス)
-
5
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
6
ACCESS VBAの実行時エラーなんですが
PowerPoint(パワーポイント)
-
7
VBでSQL文のUPDATE構文を使った時のエラーについて
Visual Basic(VBA)
-
8
Access2010 「演算子がありません」エラー
その他(データベース)
-
9
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
10
VBで使用するAccessのSQL(INSERT文)
その他(データベース)
-
11
「パラメータが少なすぎます。3を指定してください。」って???
Access(アクセス)
-
12
VBAのAccessでDATE型のINSERT
その他(データベース)
-
13
Accessでのレコード存在チェック
その他(データベース)
-
14
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
15
SELECT 文 GROUP での1件目を取得
SQL Server
-
16
ACCESS2007 VBA 「INSERT INTO~」について
PowerPoint(パワーポイント)
-
17
Accessで数値型にNULLをInsertするとエラー
その他(データベース)
-
18
構文エラー : 演算子がありません。
その他(データベース)
-
19
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
20
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
On ErrorでエラーNoが0
-
String""から型'Double'への変...
-
【VBAエラー】Nextに対するFor...
-
VBAでfunctionを利用しようとし...
-
お助けください!VBAのファイル...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
ExcelVBAのDoEventsによるエラー?
-
ACCESSで値を代入できないとは?
-
VBでSQL文のUPDATE構文を使った...
-
ApplicationとWorksheetFunctio...
-
Excel vbs AppActivate エラー
-
DBへのINSERT時に実行時エラー...
-
実行時エラー 438 の解決策をお...
-
【Access】Excelインポート時に...
-
【VBA】ワークブックを開く時に...
-
Excel VBA のFunctionプロシー...
-
ActiveCell.FormulaR1C1の変数
-
Excel vbaについての質問
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
On ErrorでエラーNoが0
-
お助けください!VBAのファイル...
-
VBA データ(特定値)のある最...
-
インポート時のエラー「データ...
-
実行時エラー'-2147467259(8000...
-
ACCESSで値を代入できないとは?
-
VB.net 重複チェックがしたいです
-
ActiveCell.FormulaR1C1の変数
-
ApplicationとWorksheetFunctio...
-
「実行時エラー '3167' レコー...
-
【VB.NET】 パワポ操作を非表示で
-
フランスの生年月日(jj/mm/aaaa)
-
【マクロ】 IFERROR関数をマク...
おすすめ情報