Visual Basic - Consulta Proyecto

Life is soft - evento anual de software empresarial
   
Vista:

Consulta Proyecto

Publicado por German Palaviccini germandarce93@yahoo.com (4 intervenciones) el 09/03/2015 02:27:20
Buenas.

Tengo una duda.


Estoy empezando a programar con visual Basic 2010.


Para crear cualquier aplicacion segun yo solo se necesita visual y deseo de hacerlo.

Hace poco me encontre con un proyecto de la facultad, el cual me pide un sistema de
biblioteca.

Tengo encuenta las necesidades del sistema, poniendome como cliente.

La duda que tengo es la siguiente:

El motor de base de datos que tengo que utilizar es MS SQL, pero cuando me enseñaron
de una manera breve, haciamos la conexion del SQL al Visual y añadiamos DataGridView
y es un proceso casi automatico.

El crear la conexion se crea un Data Set en el cual se pueden crear consultas o procedimientos
almacenador, el detalle es que con el Generador de consulta no puedo declarar variables, en fin
tiene muchas limitantes.

Otro metodo es Declarar cadena de conexion, Data adapter, data set u otros, Pero esto genera bastante
codigo.

Ya saben.

Dim Comando As String
Dim MiConexion As New SqlConnection
MiConexion.ConnectionString = My.Settings.BIBLIOTECA2ConnectionString
Dim SQLDR As SqlDataReader
Dim SQLComando As New SqlCommand
SQLComando.Connection = MiConexion
MiConexion.Open()
Comando = "SELECT N_USUARIO,P_NOMBRE,S_NOMBRE,P_APELLIDO,S_APELLIDO FROM USUARIOS WHERE N_USUARIO=(SELECT TOP(1) N_USUARIO FROM SESION ORDER BY N_USUARIO ASC)"
SQLComando = New SqlCommand(Comando, MiConexion)
SQLDR = SQLComando.ExecuteReader
SQLDR.Read()
Usuarios.nUsuario.Text = SQLDR(0)
Usuarios.pNombre.Text = SQLDR(1)
Usuarios.sNombre.Text = SQLDR(2)
Usuarios.pApellido.Text = SQLDR(3)
Usuarios.sApellido.Text = SQLDR(4)
SQLDR.Close()

Mi pregunta es si hay algun metodo para ejecutar estas instrucciones sin necesidad de tanto codigo.

De antemano gracias.

Atte.

German Palaviccini
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

Consulta Proyecto

Publicado por Juan Gilberto (277 intervenciones) el 09/03/2015 21:08:57
Yo no veo tanto codigo... el objeto Reader es el que necesita menos codigo...
donde quedo el deseo de hacerlo?
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

Consulta Proyecto

Publicado por German Palaviccini germandarce93@yahoo.com (4 intervenciones) el 27/03/2015 19:33:32
Bueno gracias por responder.


Ganas de hacerlo si tengo, pero lo que te digo es que:

1. Tenes que declarar una cadena de conexion, para hacerlo mas corto la podes declarar global
Public MiConexion as SqlConnection("Cadena de conexion")
2. Para cada reader tenes que abrir esa conexion.
Miconexion.open

3. Dependera si queres leer datos ejecutaras el DataReader:
-- sComando.ExecuteReader
o en el caso que solo ejecutes la consulta
-- sComando.ExecuteNonQuery

3. La consulta(query):
Para reducir el codigo en el visual puede ser un procedimiento almacenado

4. Para finalizar tienes que cerrar la conexion.
Miconexion.close

Eso es lo que yo te digo, es bastante codigo y si estas hablando de varias operaciones tenes que repetir
bastante codigo.

Yo pienso en alguna manera que puedas hacer esto con una funcion, pero no se como.

Podria ser de esta manera.

Function MiConsulta("query" as String)
miconexion.open
scomando= new sqlcommand("query",miconexion)
scomando.ExecuteNonQuery
end function

Yo digo que en query se introduzca la variable string que contiene la consulta

De antemano gracias.

Atte.

German Palaviccini
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

Consulta Proyecto

Publicado por Juan Gilberto (277 intervenciones) el 28/03/2015 21:46:36
Mi comentario de que es poco el codigo es porque lo estoy comparando con la alternativa de utilizar datasets, etc.

Me parece bien lo de la funcion, si te ahorras bastante codigo

Investiga acerca de adonet conexion con multireader, para que no se tenga que estar abriendo y cerrando la conexion o tengas que definir mas comandos cuando necesites leer o actualizar mas de una tabla al mismo tiempo
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
Imágen de perfil de Wilfredo Patricio Castillo

Consulta Proyecto

Por o visto no tienes las ganas que dices, pero bueno.

Si quieres menos código que eso, puedes usar .Net Entity Framework, con lo cual todo ese código se reduce a unas 4 líneas.

Ahora, el asunto es que tienes que programar orientado a objetos y verás que no tienes que repetir nada.

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