Mostrar Datos de Class Library

26/07/2004 - 16:34 por Mauricio Henao Romero | Informe spam
Hola a todos.

Quisiera hacer una consulta de tipo URGENTE.

Veran, tengo un proyecto de tipo Class Library, donde
tengo funciones como:
Public Sub IngresoTabla
Public Sub EditaTabla
Public Overloads Function MuestraTabla as As SqlDataReader
Public Sub BorraTabla

Como ven, Este proyecto tiene todos los movimientos
basicos para realizar en una tabla.

Por otro lado (en carpeta aparte), tengo un proyecto VB de
tipo WebApp.

Alli tengo un formulario, ese formulario tiene un boton
con el siguiente codigo:

Private Sub Page_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles MyBase.Load
Response.Buffer = True
Dim dr As SqlDataReader
Try
dr = objDatos.MuestraTabla
Catch ex As Exception
Mensaje(ex.Message)
Exit Sub
End Try
TextBox1.Text = Trim(dr.GetString(0))
End Sub

La pregunta es:
Donde estoy fallando ?
Se supone que el formulario (en su evento LOAD) deberia
llamar la funcion MuestraTabla, alli deberia hacer lo
siguiente:

Public Overloads Function MuestraTabla() As SqlDataReader
_sentenciaSQL = "exec StoreProcedure"
objCommand.CommandText = _sentenciaSQL
objCommand.CommandType =
CommandType.StoredProcedure
Dim dr As SqlDataReader = objCommand.ExecuteReader
Return dr
End Function

Pero no me esta mostrando nada.
Como hago entonces, para que desde una Class Library
(Imports MiClass), pueda mostrar los datos del
procedimiento en en TextBox ?

Se que a lo mejor pueda ser una tonteria, pero no doy mas :
(

A todos, mil y mil gracias.

Preguntas similare

Leer las respuestas

#6 Mauricio Henao
26/07/2004 - 20:31 | Informe spam
Tienes razon en el punto tres (3)

Ya lo he cambiado asi:

Public Overloads Function MostrarTblParametros() As
SqlDataReader
objCommand = New SqlCommand
objCommand.CommandText = "SpCe_BuscarConfig"
objCommand.CommandType =
CommandType.StoredProcedure
Dim dr As SqlDataReader
dr = objCommand.ExecuteReader()
Return dr
End Function

Pero ahora me sale:

ExecuteReader: Connection Property has not been initialized

Ok, por lo que entiendo, debo inicializar la propiedad de
la conexion, pero que es eso?, como lo hago ?

Veras, apenas tengo dias con .NET y hay mucho que debo
aprender.

Gracias de nuevo.
Veo tres cosas que pueden causar ese error.

1) objCommand no referncia una instancia de SqlCommand.
2) objDatos no referencia ninguna instancia.
3) MostrarTblParametros falla con una excepcion y por lo


tanto dr no tiene
ninguna instancia pero igualemente es usado.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo


.

Respuesta Responder a este mensaje
#7 Eduardo A. Morcillo [MS MVP VB]
27/07/2004 - 01:36 | Informe spam
Ok, por lo que entiendo, debo inicializar la propiedad de
la conexion, pero que es eso?, como lo hago ?



No le has asignado ninguna conexion al comando. Lo que tienes que hacer es
crear un objeto SqlConnection con la cadena de conexion a la base de datos
(no se si ya lo tengas creado) y asignarlo al comando:

Dim dr As SqlDataReader

objCommand = New SqlCommand
objCommand.Connection = objConexion ' objConexion es tu instancia de
SqlConnection
objCommand.CommandText = "SpCe_BuscarConfig"
objCommand.CommandType = CommandType.StoredProcedure

' Antes de llamar a ExecuteReader debes abrir la conexion
' la cual debe mantenerse abierta mientras uses el datareader.
objConexion.Open

' Utiliza CommandBehavior.CloseConnection para que
' al cerrar el datareader este cierre la conexion
dr = objCommand.ExecuteReader(CommandBehavior.CloseConnection)

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
Respuesta Responder a este mensaje
#8 Mauricio Henao Romero
27/07/2004 - 16:07 | Informe spam
Gracias Eduardo, TODO me ha funcionado de maravilla.

Saludos.


Ok, por lo que entiendo, debo inicializar la propiedad




de
la conexion, pero que es eso?, como lo hago ?



No le has asignado ninguna conexion al comando. Lo que


tienes que hacer es
crear un objeto SqlConnection con la cadena de conexion a


la base de datos
(no se si ya lo tengas creado) y asignarlo al comando:

Dim dr As SqlDataReader

objCommand = New SqlCommand
objCommand.Connection = objConexion ' objConexion es tu


instancia de
SqlConnection
objCommand.CommandText = "SpCe_BuscarConfig"
objCommand.CommandType = CommandType.StoredProcedure

' Antes de llamar a ExecuteReader debes abrir la conexion
' la cual debe mantenerse abierta mientras uses el


datareader.
objConexion.Open

' Utiliza CommandBehavior.CloseConnection para que
' al cerrar el datareader este cierre la conexion
dr = objCommand.ExecuteReader


(CommandBehavior.CloseConnection)

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida