Visual Basic - Recordset

Life is soft - evento anual de software empresarial
   
Vista:

Recordset

Publicado por aldo (16 intervenciones) el 24/08/2009 20:28:49
Hola,
quisiera hacer una pregunta para asesorarme.

Hay situaciones en las cuales debo crear una funcion en la cual me devuelva un recordset.
Por ejemplo, que la funcion me devuelva todos los clientes y sus respectivos datos.

Que me conviene mas usar??
un objeto collection? un arraylist?? un recordset directamente?

Es de buen uso crear una funcion (en un modulo bas) para que me devuelva un recordset??
o es mejor otra cosa?

espero algun comentario o asesoramiento...

gracias!
aldo
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:Recordset

Publicado por Rolando (115 intervenciones) el 24/08/2009 21:29:35
Es mejor usar una funcion que devuleva un recorset , ya que los puedes asignar a controles de datos facilmente.

Te recomiento esta funcion , solo reemplaza el cn por tu cadena de conexion o segun acoparlo a tu programa.

Public Function fRetornaRS(GsSentenciaSQL As String) As ADODB.Recordset
Dim Cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
On Error GoTo Msj_error
rs.CursorLocation = adUseClient

With Cmd
.ActiveConnection = cn
.CommandType = adCmdText
.CommandText = GsSentenciaSQL
.Execute
End With

rs.Open Cmd, , adOpenDynamic, adLockOptimistic
Set fRetornaRS = rs
Set rs = Nothing
Set Cmd = Nothing

Msj_error:
If Err.Number <> 32755 Then
If Len(Err.Description) > 1 Then MsgBox "Ocurrió el Siguiente Error:" + Chr(13) + Err.Description, vbCritical, "SISTEMA"
End If

End Function

Saludos

Rolando Lau
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:Recordset

Publicado por aldo (16 intervenciones) el 25/08/2009 01:28:01
Rolando,
antes que nada quiero agradecerte por tu tiempo y predisposicion para contestar mi inquietud.
Y aprovecho de tu generosidad para hacerte una nueva pregunta...

cuando tengo creada una clase y tengo que obtener un conjunto de objetos (como por ejemplo clientes), me conviene utilizar un collection, un arraylist, o un list of (en .NET)??.
Lo pregunto mas que nada desde el lado de la performance y facilidad a la hora de programarlo.

Disculpame la molestia y nuevamente te agradezco tu asesoramiento!

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

RE:Recordset

Publicado por jaime guerrero (361 intervenciones) el 25/08/2009 18:36:28
aldo

tu estas usando .net asi que ahi no existen recordset

lo que tu tienes que tener claro, es que debes separar la capa de datos con la de presentacion (winforms, webforms). ya que la mejor manera de trabajar en .net es mediante el manejo de objetos.

sobre que devuelves, pues depende de la informacion. por ejemplo, si vas a devolver el listado de clientes, pues devueldes una collention de cliente. supongamos que tu objeto de transferencia (entidad) se llame TOCliente, tu debes devolver collection(toCliente), o tambien puede ser list(tocliente). Yo prefiero usar la primera para trabajar con entidades

ahora, si vas a devolver un listado de numeros, pues uso list(integer). con lo cual tengo una coleccion generia de enteros.

aca, olvidate de el uso de modulos, aca todo lo debes trabajar en clases. creas un proyecto para realizar la conexion a la base de datos (puras clases), un proyecto para las entidades (puras clases), un proyecto para la capa de negecio (puras clases), un proyecto para la capa de presentacion (winforms y clases). Esta es la estructura basica para la programacion orientada a objetos en .net. Ya dependiendo del patron de desarrollo que uses se pueden usar controladoras (clases intermedias del winform y la capa de negocio), y otras cosas. Puedes crear un proyecto para los usercontrols, para clases comunes (que la puedes usar en otros proyectos), en fin, hasta donde tu imaginacion pueda llegar para que se te haga mas facil trabajar.

te recomiendo que antes de empezar te leas manuales de programacion orientada a objetos en .net. en el msdn de microsoft puedes encontrar. tambien puedes entrar a elguille.info. en la seccion de vb.net hay un buen manual para iniciarse.
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:Recordset

Publicado por aldo (16 intervenciones) el 26/08/2009 03:21:21
Jaime,
te estoy muy agradecido por tu extensa y clara explicacion.
he leido varias cosas de clases y objetos, de hecho en vb 6 trabajo con ciertas clases diseñadas por mi, pero siempre hecho a lo tarzan (es decir, a los golpes).
Es evidente que soy mini junior todavia en todo esto, pero tengo muchas ganas todavia de aprender, con lo cual tratare de hacer cursos o bien seguir leyendo un poco mas... y sobre todo, a hecharle mucha practica a la cosa.

otra vez, MUCHISIMAS GRACIAS por tu explicacion y tu tiempo!

saludos desde Buenos Aires, Argentina.
Aldo
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:Recordset

Publicado por jaime guerrero (361 intervenciones) el 26/08/2009 17:38:27
para que tengas un poco mas de conocimiento puedes seguir el curso de desarrollador 5 estrellas de microsoft, tambien, en la pagina de el guille (www.elguille.info) hay varios ejemplos y manuales introductorios
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:Recordset

Publicado por aldo (16 intervenciones) el 27/08/2009 04:32:33
Ok jaime, voy a seguir tu consejo...

muchas gracias por todo!
un abrazo!
aldo
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:Recordset

Publicado por aldo (16 intervenciones) el 27/08/2009 04:33:15
Ok jaime, voy a seguir tu consejo...

muchas gracias por todo!
un abrazo!
aldo
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:Recordset

Publicado por aldo (16 intervenciones) el 27/08/2009 04:33:21
Ok jaime, voy a seguir tu consejo...

muchas gracias por todo!
un abrazo!
aldo
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