Visual Basic.NET - Problema con conexion SQL

 
Vista:

Problema con conexion SQL

Publicado por Laura (8 intervenciones) el 29/08/2007 21:49:51
Hola a todos!!!

Estoy intentando hacer una conexión con sql Server mediante SQLDataReader. Lo que pretendo hacer es ingresando un num de DNI que me muestre en labels el nombre y apellido correspondientes.
Pareciera que todo anda bien, pero cuando ejecuto el comando me devuelve un error que dice: 'referencia a objeto no establecida como instancia de un objeto (y me marca “PersonaBus”)

Para mi estoy haciendo algo mal en el llamado a la funcion, pero probé muchisimas cosas y sigue sin andar.

La funcion esta en una clase “persona” y el codigo es:


Public Function buscar(ByVal DNIBuscado As Integer) As persona

'creo comando
Dim cmd As New SqlCommand
cmd.CommandText = "Select DNI, Nombre, Apellido from cliente where (DNI=@DNIBuscado)"
cmd.CommandType = CommandType.Text

'creo parametro
Dim prm As New SqlParameter
prm.ParameterName = "@DNIBuscado"
prm.Direction = ParameterDirection.Input
prm.Value = Me.DNI
cmd.Parameters.Add(prm)

'solicito ejecutar consulta
Dim rs As SqlDataReader = conectar.ejecutarconsulta(cmd)

Dim r As persona

Do While rs.Read()
r = New persona()
r.Nombre = rs("Nombre")
r.Apellido = rs("Apellido")
Loop
rs.Close()

End Function


En el form el codigo es:

Private Sub cmdBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBuscar.Click

Dim tmpPersona As New persona
Dim PersonaBus As persona

PersonaBus = tmpPersona.buscar(txtDNI.Text)

lblNombre.Text = PersonaBus.Nombre
lblApellido.Text = PersonaBus.Apellido
Error: 'referencia a objeto no establecida como instancia de un objeto (y me marca “PersonaBus”)

End Sub



espero que alguien me pueda dar una mano.
Muchas gracias!
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 con conexion SQL

Publicado por haver (196 intervenciones) el 29/08/2007 22:59:24
Pos la verdad creo que seria mas sencillo asi:

Public Function buscar(ByVal DNIBuscado As Integer,byval str as string) As Dataset
try
'variable de tipo conexion no se como tengas tu conexion
dim cnx as new sqlclient.sqlconexion(str)
'un datadapter para llenar el dataset
dim dt as new sqlclient.sqldatadapter("select DNI,nombre,apellido from cliente where DNI = "& DNIBUSCANDO & "",miconexion)
'declaro el dataset
dim ds as new dataset
'lleno el dataset
dt.fill(ds,"cliente")

return ds
catch ex as exception
msgbox ex.message
end try
End Function

Private Sub cmdBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBuscar.Click
dim ds_valores as new dataset
ds_valores =buscar(txtDNI.Text, 'aqui ingresas el string de tu conexion'.tostring )
if ds_valores.tables(0).rows.count <> 0 then
lblNombre.Text = ds_valores.tables(0).rows(0)(1)
lblApellido.Text = ds_valores.tables(0).rows(0)(2)
else
lblNombre.Text = "ERROR no existe informacion asociada al DNI ingresado"
lblApellido.Text ="ERROR no existe informacion asociada al DNI ingresado"

End Sub

por cualquier duda te dejo mi msngr
[email protected]
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