現在SQLのデータベースのテーブルのレコードに登録などできるシステムをVBで製作しているのですがテキストボックスの入力に ' が含まれてる状態(B'zなど)で登録をしようとするとエラーが起こるのですが、 ' が含まれる文字を登録するにはどうしたらいいでしょうか・・・。
VBと関係ないような?
エスケープしてください。エスケープについては、ググれば腐るほど出てきます。
ついでに、SQLインジェクションについて調べると、幸せになれると思います。
"SQL injection"を防ぐためにも、パラメータ SQL にするのが常套手段かと。
パラメータ化できない事情があるならば、何らかのエスケープ記法が
必要ですが、それはデータベースによって異なります。
(たとえば、' を '' と連記することで対応できるデータベースとか)
ただ、DB によっては、' 以外の特殊文字が存在しているケースも
ありますので、多少回りくどいようでも、やはりパラメータ化するのが
個人的にはおすすめです。
ツイート | ![]() |