【開発言語】
・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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
構文エラー:演算子がありません。 ACCESS SQL
その他(データベース)
-
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
-
4
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
5
accessの SQL文 INSERT命令
Access(アクセス)
-
6
VBでSQL文のUPDATE構文を使った時のエラーについて
Visual Basic(VBA)
-
7
「パラメータが少なすぎます。3を指定してください。」って???
Access(アクセス)
-
8
VBAのAccessでDATE型のINSERT
その他(データベース)
-
9
VBで使用するAccessのSQL(INSERT文)
その他(データベース)
-
10
ウォッチ式の文字数制限について
Visual Basic(VBA)
-
11
ACCESS VBAの実行時エラーなんですが
PowerPoint(パワーポイント)
-
12
Accessで数値型にNULLをInsertするとエラー
その他(データベース)
-
13
ACCESS2007 VBA 「INSERT INTO~」について
PowerPoint(パワーポイント)
-
14
select文の戻り値を変数に格納したい。
Visual Basic(VBA)
-
15
INSERT INTOステートメント構文エラーについての質問です
Visual Basic(VBA)
-
16
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
17
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
18
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
String""から型'Double'への変...
-
実行時エラー'-2147467259(8000...
-
文字列内で括弧を使うには
-
マクロで"#N/A"のエラー行を削...
-
Filter関数を用いた結果、何も...
-
実行時エラー 438 の解決策をお...
-
8876017c とエラー表示がされる
-
Excel実行時エラー[80004005]に...
-
ExecuteNonQueryメソッドの戻り値
-
VB6とVB.NETでNullの扱いが違う?
-
ACCESSで値を代入できないとは?
-
On ErrorでエラーNoが0
-
Excel2013で実行時エラー9...
-
オブジェクト型の変数にフォー...
-
Oracle Case文でのエラー(デー...
-
データベース操作時エラーについて
-
実行したSQLの結果を返す方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
VBAでfunctionを利用しようとし...
-
お助けください!VBAのファイル...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
マクロで"#N/A"のエラー行を削...
-
On ErrorでエラーNoが0
-
エクセルVBA 「On Error GoTo...
-
VBA データ(特定値)のある最...
-
実行時エラー'-2147467259(8000...
-
【VBA】ワークブックを開く時に...
-
VBでSQL文のUPDATE構文を使った...
-
ACCESSで値を代入できないとは?
-
マクロの「SaveAs」でエラーが...
-
Excel vbaについての質問
-
インポート時のエラー「データ...
-
Filter関数を用いた結果、何も...
-
「実行時エラー '3167' レコー...
-
バッチファイルで、あるスクリ...
おすすめ情報