Visual Basic.NET - Problemas con sqlDataReader

   
Vista:

Problemas con sqlDataReader

Publicado por Laura (8 intervenciones) el 15/09/2007 13:36:31
Hola a todos!!!!!

Estoy tratando de armar conexiones desde VB.NET a SQL 2000 y tengo un problema al ejecutar las consultas. Las funciones Borrar, modificar y agregar andan excelente, pero cuando ejecuto buscar no me devuelve nada (como se hubiera “0” en la base, pero no es así) para mi hay algún error cuando llamo al datareader, pero sinceramente no me doy cuenta que es. Ase mucho que estoy con esto, y agradecería mucho si alguien me puede decir que es lo que estoy haciendo mal. Abajo dejo el fragmento de código que afecta a la función Buscar.

La función EjecutarConsulta de la clase conectar es:


Public Class conectar
Private Shared StrCx As String = "Data Source=OJITOS;Initial Catalog=Cliente;Integrated Security=True"

Private Shared Function OptenerConexion() As SqlConnection
Return New SqlConnection(StrCx)
End Function

Public Shared Function EjecutarConsulta(ByVal Comando As SqlCommand) As SqlDataReader
Try
Dim Cx As SqlConnection = conectar.OptenerConexion()
Cx.Open()
Comando.Connection = Cx
Return Comando.ExecuteReader()

Catch ex As Exception
Throw New Exception
End Try
End Function
End Class



La funcion Buscar esta en una clase “persona” y es asi:



Public Function Buscar(ByVal unaPersona As String) As persona

Try
Dim StrCmd As String = "Select * from Cliente where DNI=@DNI"
Dim cmd As New SqlCommand(StrCmd)
cmd.CommandType = CommandType.Text

Dim prm As New SqlParameter("@DNI", unaPersona)
prm.DbType = DbType.String

cmd.Parameters.Add(prm)

Dim dr As SqlDataReader = conectar.EjecutarConsulta(cmd)

dr.Read()
Dim xPersona As New persona
xPersona.DNI = dr.Item(0)
xPersona.Nombre = dr.Item(1)
xPersona.Apellido = dr.Item(2)

Return xPersona

Catch ex As Exception
Throw New Exception
End Try

End Function


Y en el form, el llamado a la funcion es:


Public Class Form1
Private tmpPersona As persona

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

tmpPersona = New persona()

tmpPersona.DNI = Me.txtDNI.Text
tmpPersona.Nombre = Me.lblNombre.Text
tmpPersona.Apellido = Me.lblApellido.Text

tmpPersona.Buscar(txtDNI.Text)

End Sub

End Class
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:Problemas con sqlDataReader

Publicado por Harold V. (411 intervenciones) el 15/09/2007 19:22:52
Hola:

Espero esto ayude.....


Private tmpPersona As New Persona

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

Dim mPersona As Persona

mPersona = tmpPersona.Buscar(txtDni.Text)

mPersona.DNI = Me.txtDni.Text
Me.lblNombre.Text = mPersona.Nombre
Me.lblNombre.Text =mPersona.Apellido
End Sub
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

RE:Problemas con sqlDataReader

Publicado por Laura (8 intervenciones) el 16/09/2007 04:51:35
SI Ahora anda!!!!!! MUCHAS MUCHAS MUCHAS GRACIAS!!!! En visual 6.0 lo hacia asi pero con el set, como ahora en net no se podia poner "set mPersona = tmpPersona.Buscar(txtDni.Text) " no sabia como hacerlo!

TE LO AGRADEZCO MUCHO....!!!

SUERTE!!!
Que sigas bien!!!
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