「'」について

解決


ポンタ  2007-07-03 20:03:49  No: 136880

いつも参考にさせて頂いております。

------------------------------------------------------------------------
    dim Pcd as string
    Pcd="あ'あああああ"
    SQL = "SELECT Acode,AName" _
    & " From Aテーブル" _
    & " Where (Aテーブル.AName = '" & Pcd & "')" _
    & " ORDER BY Acode,AName;"
    MyTable2.Open SQL

------------------------------------------------------------------------
    
    Pcd内に「'」が入ってしまっている為、実行すると構文エラーが発生してしまいます。
    こういう場合、どのような処理をするべきなのでしょうか?
    宜しくお願いします。

【開発環境】
Vb6 SP6 
SQLServer7.0


特殊文字  2007-07-03 20:28:19  No: 136881

> こういう場合、どのような処理をするべきなのでしょうか?

構文エラーは、VBではなくSQLの問題なので、板違いですよ?
問題解析をしていくと、どちらが阻害しているか分かるかと思います。

ちなみに、本件では、
特殊文字に対してはエスケープ処理が行われていないのが原因かと
思われます。「'」のみ解決したからといって、
他の特殊文字に対応できません。

ということで、
エスケープ処理 特殊文字等をキーワードに、
検索されてみてはいかがでしょうか?


特攻隊長まるるう  2007-07-03 20:54:54  No: 136882

すでに指摘を受けていますが、
>構文エラーは、VBではなくSQLの問題なので、板違いですよ?
SQLServerのヘルプで調べるような内容です。
VBは関係ありません。

「'」については「''」に置き換えます。
 # 過去ログでも何回か出てます。

ぐぐるならキーワードとしてそれなりの組み合わせは
『SQL Server エスケープ 特殊 文字』
とかどうでしょうか。。。

>他の特殊文字に対応できません。
単純にうまく動作するというだけでなく、SQLインジェクション
まで考えると、SQLの文法は一通り知っておくべきでしょうね。


ポンタ  2007-07-04 03:00:30  No: 136883

お返事有難うございます。

「SQL Server エスケープ 特殊 文字」で調べてみたいと思います。
有難うございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加