SQL分中に・・・

解決


VBパダワン  2007-02-23 20:29:53  No: 135455

VB6で、mdbに接続してデータを扱っております。
その際に、SQL文を使用しているのですが、
例えば、

tbl = "T_DATA"

myData = "'" & strID
myData = myData & "','" & strName
myData = myData & "','" & strAdd & "'"

mySQL = "insert into " & tbl
mySQL = mySQL & " values (" & myData & ")"

のように、接続したmdbのT_DATAテーブルにデータを挿入しています。
strName は名前で、strAdd は住所です。
この時、外人さんでstrAdd に  'を含む住所が存在した場合、
構文エラーとなって処理が出来ません。
データの中に 'を含んでいる場合、SQL文では処理できないのでしょうか?


ささき  2007-02-23 20:33:45  No: 135456

特殊文字はエスケープしても駄目ですか?


VBパダワン  2007-02-23 20:39:45  No: 135457

>ささき様
ありがとうございます。
エスケープとはどういった方法でしょうか?


VBパダワン  2007-02-23 20:55:22  No: 135458

>ささき様
ネットでエスケープのことを調べて、解決しました。
' がきた時は、'' にするんですね。
勉強になりました。
ありがとうございました、


ささき  2007-02-23 21:04:53  No: 135459

すいません、打ち合わせ入ってました。

>' がきた時は、'' にするんですね。
ただ、SQLの登録の際のエスケープ処理は
’だけの問題ではない(=特殊文字は他にもある)ので、

データの中にどのような特殊文字を許可しているのか?によって
対応するべき範囲が異なります。


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

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






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