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文では処理できないのでしょうか?
特殊文字はエスケープしても駄目ですか?
>ささき様
ありがとうございます。
エスケープとはどういった方法でしょうか?
>ささき様
ネットでエスケープのことを調べて、解決しました。
' がきた時は、'' にするんですね。
勉強になりました。
ありがとうございました、
すいません、打ち合わせ入ってました。
>' がきた時は、'' にするんですね。
ただ、SQLの登録の際のエスケープ処理は
’だけの問題ではない(=特殊文字は他にもある)ので、
データの中にどのような特殊文字を許可しているのか?によって
対応するべき範囲が異なります。
ツイート | ![]() |