Visual Basic.NET - Problema...

 
Vista:

Problema...

Publicado por Esteban Velazquez (5 intervenciones) el 17/08/2004 06:52:43
Estoy Intentando que me marque un msgbox cuando no encuentre el dato que busca, ya intente con un if, pero la neta no me sale, si manda el msgbox, pero en ambos casos cuando lo encuentra y no lo encuentra.
Les pongo el codigo para que lo analisen:

Todo en el boton buscar!!!!

Dim nombre As String = T1.Text
strconexion = "provider = microsoft.jet.oledb.4.0;data source= c:\Bases de datos\base1.mdb"
strcomando = String.Format("select * from agenda where nombre='{0}'", nombre)
conexion = New OleDbConnection(strconexion)
comando = New OleDbCommand(strcomando, conexion)
conexion.Open()
lector = comando.ExecuteReader()
Do While lector.Read
L5.Text = lector.Item("Nombre")
L6.Text = lector.Item("Direccion")
L7.Text = lector.Item("Telefono")
L8.Text = lector.Item("Fechadenacimiento")
Loop


lector.Close()

Gracias Edgar y disculpa el gorro que te pongo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema...

Publicado por Edgar (1501 intervenciones) el 17/08/2004 16:51:11
Hola

Bueno.. Puedes usar la propiedad HasRows del DataReader para saber si el te devolvió algun resultado.. supongo que por la manera en que estas creando la consulta y lo que haces posteriormente, que te devuelve una sola fila en caso de conseguir algo... en este caso puedes hacer lo siguiente:

If lector.HasRows
lector.Read()
L5.Text = lector.Item("Nombre")
L6.Text = lector.Item("Direccion")
L7.Text = lector.Item("Telefono")
L8.Text = lector.Item("Fechadenacimiento")
Endif

Ya que en este caso no valdría la pena iterar sobre algo que sabes que solo tendrá una fila

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar