• ベストアンサー

Mysqlエスケープ文字回避の構文について

現在、 開発言語「VBA」 データベース「Mysql」 で開発をおこなっています。SQL構文を実行する際、エスケープ文字が入力された場合、致命的エラーが発生してしまいます。 INSERT INTO T_Test VALUES ( '\','\','\','100','2009/09/02 16:03:26') この場合回避策はどのようにおこなうのがいいでしょうか? 複数画面でSQL文を実行しているところがあるので一番手間のかからない修正方法はないでしょうか?? VALUESでセットしている値は画面のテキストから入力された値などです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ACCESS VBAに限らず,一般的にはテキストから入力された値を受け取り、 SQLにセットする前にエスケープ文字自体をエスケープする、 という方法になると思います。 replace関数あたりを使うのがよいのではないでしょうか? また、今回は既存のプログラムのようなので 全てを変更するのは厳しいかもしれませんが、 DAOもしくはADOのレコードセットを使ってデータの作成/更新を行うと このあたりのことは気にする必要は無かったと思います。

flashman77
質問者

お礼

ありがとうございます。 現在おこなっているのは既存のプログラムのカスタマイズなので replace関数を使用し、エスケープ文字の除去をおこなった後 SQL文を実行するようにします。 色々調べたのですが・・・。 これでチビチビ修正していきます。 ありがとうございました。

関連するQ&A