テキストボックスを作成して、テキストボックス内のテキストが変更されるたびに検証されます。また、テキストボックスが正しい場合はテキストボックスの横に画像が表示され、正しくない場合は別の画像が表示されます。 Ajaxにかなり似ています。テキスト変更イベントを使用するvb.netデータリーダー
Heresはクラスから呼び出したメソッドです。
Public Sub read1()
cmd.CommandText = "SELECT * FROM testdb WHERE Name='" & name & "'"
Try
rdr = cmd.ExecuteReader
Dim n As String
If rdr.HasRows Then
n = rdr("Name").ToString
Form1.PictureBox1.Image = Image.FromFile("C:\wamp\www\Dropbox\Public\Check-icon.png")
Else
Form1.PictureBox1.Image = Image.FromFile("C:\wamp\www\Dropbox\Public\Delete-icon.png")
End If
Catch ex As Exception
そしてここでメソッドの呼び出し、イベント
:Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
x.name = TextBox1.Text
x.read1()
End Sub
End Try
End Sub
問題があるが、この方法は、一度だけ呼ばれているように見えます。データベースに存在しないデータを入力しても表示される最初の画像は変わらない。 私はこのプログラムをodbcを使ってmysqlデータベースに接続しています。あなたは何が問題であり、それを修正する方法を決定するのを助けることができますか?
HERESにスクリーンショット:DataReaderオブジェクトで
同じように行動してくれてありがとうございます。 – user225269
デバッガで何をやっているのですか?私は、.Read呼び出しがなければ、rdrオブジェクトからの値の取得が例外を引き起こしていて、画像の読み込みをスキップしていると想定していました。 –
@マーク。読み込みは必須ではありません。 .HasRowsはこれがすべて必要なはずです。 –