いつも参考にさせて頂いております。
------------------------------------------------------------------------
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
> こういう場合、どのような処理をするべきなのでしょうか?
構文エラーは、VBではなくSQLの問題なので、板違いですよ?
問題解析をしていくと、どちらが阻害しているか分かるかと思います。
ちなみに、本件では、
特殊文字に対してはエスケープ処理が行われていないのが原因かと
思われます。「'」のみ解決したからといって、
他の特殊文字に対応できません。
ということで、
エスケープ処理 特殊文字等をキーワードに、
検索されてみてはいかがでしょうか?
すでに指摘を受けていますが、
>構文エラーは、VBではなくSQLの問題なので、板違いですよ?
SQLServerのヘルプで調べるような内容です。
VBは関係ありません。
「'」については「''」に置き換えます。
# 過去ログでも何回か出てます。
ぐぐるならキーワードとしてそれなりの組み合わせは
『SQL Server エスケープ 特殊 文字』
とかどうでしょうか。。。
>他の特殊文字に対応できません。
単純にうまく動作するというだけでなく、SQLインジェクション
まで考えると、SQLの文法は一通り知っておくべきでしょうね。
お返事有難うございます。
「SQL Server エスケープ 特殊 文字」で調べてみたいと思います。
有難うございました。
ツイート | ![]() |