初歩的な質問でしたらすみません。。。
VB6でSQLServer2000のDBを操作しています。
入力フォームの「名称」欄に「'」「,」半角のアポストロフィやカンマの入力をすると、
SQLのテーブルへ書き込み時にエラーとなってしまいます。
「名称」のため、半角の「'」「,」は禁止にして、全角の「’」「,」は入力可能にしたいです。全角半角の判別可能なのでしょうか?
フォームで[登録]ボタンを押した時に「名称」欄に「'」「,」が含まれているかのチェックをしたいのですが、
「'」「,」文字をどの様に記述してチェックをすればよろしいのでしょうか。
どなたかご存知の方ご教授いただけたらと思い質問させていただきました。
どうかよろしくお願いいたしますm(_ _)m
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
んと、エラーになる・ならないは横に置いといて。
そもそも「名称」という欄に入る値として半角の「'」や「,」は業務ルール上、正当ですか? それとも不正ですか?
もし「エラーになるから禁止文字にしたい」というのであれば、登録の方法を変えれば禁止にしなくて済みます。
恐らくプログラムの中で動的に「UPDATE ~」なり「INSERT ~」の SQL 文字列を完全に組み立てているのでしょうが、そのやり方を変更すれば先の半角文字を登録に使用することが可能になります。
具体的には ADO の Command オブジェクトと Parameter オブジェクトを使って更新します。
これならば更新したい値は Parameter オブジェクトに格納されるので、「SQLインジェクション」と呼ばれる、SQL Server を攻撃するような呪文にも強くなります。
MSDN : ADO の Command オブジェクト
http://msdn.microsoft.com/library/ja/jpado260/ht …
MSDN : ADO の Parameter オブジェクト
http://msdn.microsoft.com/library/ja/jpado260/ht …
No.1
- 回答日時:
こういうことでしょうか?
Private Sub Command1_Click()
Dim i As Integer
i = InStr(Text1.Text, "'")
If i > 0 Then MsgBox "「'」があります。"
Text1.Text = ""
Text1.SetFocus
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
エクセルのCOUNTIFが正しくカウ...
-
文字列中の両丸括弧を取り除くV...
-
ExcelのVBAでカタカナをチェッ...
-
全角括弧と全角読点の間隔を狭...
-
VBScriptである文字列に半角文...
-
Excel関数「COUNTIF」で”文字”...
-
記号は半角と全角どちらがよい...
-
XMLのタグ名の禁則文字
-
HTML5の「pattern」属性で前後...
-
Postgresの特定のカラムからス...
-
テキストボックスの入力制限
-
エクセルでの漢字、カタカナ、...
-
VBAで英数字入力チェックしたい。
-
全角英数文字が嫌われる理由を...
-
秀丸マクロについて
-
=code(" ") で値が160となる文...
-
半角記号、全角記号を含む正規...
-
PHPの正規表現eregの使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
エクセルのCOUNTIFが正しくカウ...
-
全角括弧と全角読点の間隔を狭...
-
Excel関数「COUNTIF」で”文字”...
-
半角記号、全角記号を含む正規...
-
全角英数文字が嫌われる理由を...
-
エクセルでの漢字、カタカナ、...
-
XMLのタグ名の禁則文字
-
特定の文字を簡単な操作で半角...
-
記号は半角と全角どちらがよい...
-
パソコンで全角、半角文字の切...
-
VBAで英数字入力チェックしたい。
-
文字列中の両丸括弧を取り除くV...
-
VBScriptである文字列に半角文...
-
Replace関数は文字数の制限ある...
-
全角半角変換 C++/CLI
-
半角文字と全角文字の判別の仕方
-
2つ以上の連続する空白文字を除去
-
=code(" ") で値が160となる文...
おすすめ情報