Foros del Web » Programación para mayores de 30 ;) » .NET »

conexion con bd sqlserver 2005 express vb.net

Estas en el tema de conexion con bd sqlserver 2005 express vb.net en el foro de .NET en Foros del Web. Antes de nada, gracias de antemano por la ayuda que me podais prestar. Estoy empezando con VB.net, y quiero hacer una aplicación optimizada, y la ...
  #1 (permalink)  
Antiguo 20/03/2007, 16:17
 
Fecha de Ingreso: marzo-2007
Mensajes: 12
Antigüedad: 17 años, 1 mes
Puntos: 0
Sonrisa conexion con bd sqlserver 2005 express vb.net

Antes de nada, gracias de antemano por la ayuda que me podais prestar.
Estoy empezando con VB.net, y quiero hacer una aplicación optimizada,
y la pregunta es la siguiente:
cual es la mejor forma de hacer una conexión a una base de datos sqlserver 2005 express general.
Había pensado en crear una clase conexion que contenga la cadena de conexión a la base de datos, y desde los diferentes forms realizar los selects, updates.. para la gestión.
Sino supongo que en cada form tendría que realizar la conexión, abrirla, trabajar con la bd y cerrarla.
cual es vuestra opinión?? si teneis alguna otra solución avisadme.
Gracias,
  #2 (permalink)  
Antiguo 20/03/2007, 18:10
 
Fecha de Ingreso: mayo-2005
Mensajes: 117
Antigüedad: 19 años
Puntos: 0
Sonrisa Re: conexion con bd sqlserver 2005 express vb.net

holas dat euna buelta por

http://www.forosdelweb.com/f29/como-hago-conexion-vb-net-con-sql-server-2005-a-473257/

ahi puese codigo que hace la coneccion a la DB y eso yo lo utilizo en una clase y asi la incluyo(herredo) en los demas forms (clases) para utilizarla

cualquier duda aqui andamos....
....saludos

............Rahd RR
  #3 (permalink)  
Antiguo 02/04/2007, 12:47
 
Fecha de Ingreso: marzo-2007
Mensajes: 12
Antigüedad: 17 años, 1 mes
Puntos: 0
Sonrisa Re: conexion con bd sqlserver 2005 express vb.net

Hola,
Perdona que no te dijera nada antes pero me ha sido imposible.
He visto el ejemplo y me ha sido de gran ayuda.
Te explico, estoy intentado crear una aplicación lo más optimizada posible.
Tengo varios formularios que crea datos generales, donde cada form contiene los botones nuevo, editar, borrar y cerrar, y un datagridview donde muestro los datos y hago el mantenimiento. La diferencia entre estos forms simplemente es la select que se le pasa para traer los datos. Este seria el código:

Public Class F_Carpinteria_Exterior
Private dataAdapter As New SqlClient.SqlDataAdapter

Private Sub LeerDatos(ByVal selectCommand As String)

Try
'Conexión a la base de datos
Dim conexion As String = _
"Integrated Security=SSPI;Persist Security Info=False;" + _
"Initial Catalog=inmovivienda;Data Source=HAGRID\SQLEXPRESS"
' Creación de un new dataAdapter basado en una consulta específica.
Me.dataAdapter = New SqlClient.SqlDataAdapter(selectCommand, conexion)

'Creación de un command builder para generar el update, insert y delete
' basadas en el selectcomand, utilizado para actualizar la base de datos.
Dim commandBuilder As New SqlClient.SqlCommandBuilder(Me.dataAdapter)

' Creación de new data table y asignación a un BindingSource.
Dim tabla As New DataTable()
tabla.Locale = System.Globalization.CultureInfo.InvariantCulture
Me.dataAdapter.Fill(tabla)
Me.BS_Datos.DataSource = tabla


Catch ex As SqlClient.SqlException
MessageBox.Show("Error de coneción a la base de datos")
End Try

End Sub

Private Sub F_Tipo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

' Asignamos el BS_Datos al DataGridView y cargamos los datos de la base de datos
Me.DGV_Datos.DataSource = Me.BS_Datos
LeerDatos("select * from Carpinteria_Exterior")


End Sub

Private Sub Btn_Editar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Editar.Click
' Actualizar la base de datos.
Me.dataAdapter.Update(CType(Me.BS_Datos.DataSource , DataTable))
End Sub

Private Sub Btn_Borrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Borrar.Click
'Borrar registros de la base de datos
Me.DGV_Datos.Rows.Remove(Me.DGV_Datos.CurrentRow)
Me.dataAdapter.Update(CType(Me.BS_Datos.DataSource , DataTable))

End Sub
Private Sub Btn_Cerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Cerrar.Click
Me.Hide()
End Sub
Private Sub Btn_Nuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Nuevo.Click
'Agregar registros en la base de datos
Me.dataAdapter.Update(CType(Me.BS_Datos.DataSource , DataTable))
End Sub
End Class

Lo más lógico seria crear una clase para controlar el grid y desde el form pasarle la consulta. tu que opinas??
y... gracias de antemano.
  #4 (permalink)  
Antiguo 05/04/2007, 04:16
 
Fecha de Ingreso: mayo-2005
Mensajes: 117
Antigüedad: 19 años
Puntos: 0
Re: conexion con bd sqlserver 2005 express vb.net

holas nuevamente espero no sea tarde...
puedes crear la clase como dices donde le pases la consulta y el grid qeu vas a manipular asi como tambien una funcion que te regrese el query(select) que vas autilizar en cada form ... por eejmplo

en leerdatoss (que ami oprarecer seria llener el grid)
  #5 (permalink)  
Antiguo 05/04/2007, 05:01
 
Fecha de Ingreso: mayo-2005
Mensajes: 117
Antigüedad: 19 años
Puntos: 0
Re: conexion con bd sqlserver 2005 express vb.net

holas nuevamente espero no sea tarde...
puedes crear la clase como dices donde le pases la consulta y el grid qeu vas a manipular asi como tambien una funcion que te regrese el query(select) que vas autilizar en cada form ... por eejmplo

Public Function getQry(ByVal queQry As Integer) As String
Select Case queQry
Case 1 '''qry para form1
getQry = "select...."
Case 2 '''qry para form2
getQry = "select...."
Case X '''qry para formX
getQry = "select...."
End Select
End Function

analisando las funciones que posteaste

en leerdatoss (que ami oprarecer seria llener el grid)
public Function fillGrid(byref grid as TipodeGridQueUtilizas, byval selectCommand as string )
-- llamas a la funcion que te crea la cadena de coneccion(en caso de que la tengasy se ria lo mejor ya que puedes tener conneciones adistintos gestores de bases de datos) y la colocas al crear el data adapter
-- creas tu connecio asi como la tines
> Me.dataAdapter = New SqlClient.SqlDataAdapter(selectCommand, Funcion_que regrese_la_"cadena"_de_connecion(no el select))
el selectCommand se lomandas desde el form que estas utilzando este mismo manda allamar ala funcion que te regresa el qry (getQry ocomo le pongas)
y llenas latabal como lo tienes.
la linea no tienne caso Me.BS_Datos.DataSource = tabla
deberias asignarle directamente al grid ya que le estyas pasando el grid ala funcion
...
dataAdapter.Fill(tabla)
grid.DataSource = tabla
...

end function

en private sub F_Tipo_Load (esto seria encada form qeu quieras llenar el grid)

Me.DGV_Datos.DataSource = Me.BS_Datos
esta lienea la puedes omitir y hacerlo directamente en leerdatoss ya que ahi le pasa el grid y ahi mismo lollenas como lo explique antes

leedatos lo llamrias dela sig forma

leerdatos(grid_del_Form, getQry(2) ) ''recuerda que getQry esla funcion que te pasa el Select

end function

en los demas eventos o funciones (borrar editar y actulizar), lo spuedes dejar asi o tambien crear funciones que lo agan por ejemplo
para borrar puedes creara una funcion que lo haga psaandole elgrid y el renglon actual...

espero que te alla sido de ayuda... y no necesariamente debes de ahcerlo como te digo es solo una idea pra que tu veas qeu te comvienne como implementartlo de una mejor forma.....

saludos... disculpa la forma de escribir pero XD XD XD

recuerda separa y venceras..
.........Rahd RR
  #6 (permalink)  
Antiguo 11/04/2007, 13:20
 
Fecha de Ingreso: marzo-2007
Mensajes: 12
Antigüedad: 17 años, 1 mes
Puntos: 0
De acuerdo Re: conexion con bd sqlserver 2005 express vb.net

gracias por todo, aún no es demasiado tarde,lo pondré en práctica haber que tal me sale.
Siempre se aprenden cosas nuevas.
graicas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:13.