내용이 텍스트가 변경 될 때마다 유효성이 검사되는 텍스트 상자를 만들고 싶습니다. 텍스트 상자가 올바른 경우 이미지가 텍스트 상자 옆에 표시되고 이미지가 올바르지 않으면 다른 이미지가 표시됩니다. 아약스처럼.텍스트 변경 이벤트를 사용하는 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 개체에서 값을 검색하면 예외가 발생하여 이미지로드가 건너 뛴다 고 가정합니다. –
@Mark.Read는 필요하지 않습니다. .HasRows가이 모든 것이 필요합니다. –