投稿日 | : 2003/12/17(Wed) 10:52 |
投稿者 | : ak |
Eメール | : |
URL | : |
タイトル | : Re: テキストボックス内の文字でSQL構文 |
こんにちは。
> その際のSQL構文は、
>「SELECT UserName FROM UserInfo WHERE ID = '" & txtID.text & "'"」
> としています。
> IDに「A0001」など入力して、問合せをすればOKですが、
> このテキストボックスに「'」の記号を使用した場合、エラーとなります。
お解りかと思いますが一応説明しておきます。
テキストボックスに「A00'01」と入力された場合、
SQLは「SELECT UserName FROM UserInfo WHERE ID = 'A00'01'」
となり「'A00'」が文字列として認識され残りの「01'」がSQL構文エラーと
なります。
「'」を文字列として認識させたい場合は「'」を「''」にします。
「SELECT UserName FROM UserInfo WHERE ID = 'A00''01'」
VBでダブルクォーテーションを文字列型変数に格納する場合と同じです。
> 1.Instr関数以外で、何かお奨めなチェック方法があるか?
VB6でしたらReplace関数を使用すれば良いと思います。
例)SELECT UserName FROM UserInfo WHERE ID = '" & Replace(txtID.text,"'","''") & "'"