Actualizar un DataGridview en VB.Net
Buenas Noches Todoexpertos...
Mi duda es la siguiente: Estoy usando un DataGridView para cargar información de una Bd SQL Server ... Pero estoy teniendo problemas para actualizarlos luego de hacer una modificación en la bd ... La funcionalidad de mi aplicación va así: en una form hago la carga del datagrid con el siguiente código:
'Declaracion de variable
Dim myCmd As SqlCommand 'para cargar la consulta SQL
Dim myAdapter As SqlDataAdapter 'para cargar los datos porque el myCmd no funciona esa mierda!!!
Dim myTable As New DataTable 'la tabla donde cargare los datos para pasarselos al DataGridView
Dim OrigendeDatos As Windows.Forms.BindingSource 'encapsulo el origen de datos de un form
Private Sub VentanaGrupo_Load(ByVal ...) Handles MyBase.Load
Me.MdiParent = VentanaPrincipal 'Formulario MDI
'***********************************************
Call BD.conectarBD() 'LLAMAR AL MODULO PARA CONECTAR LA BD
'***********************************************
SQL = "SELECT * FROM PROYECTO 'Sentencia sql de consulta
'*****************************
Call BD.CargarDataGrid(OrigendeDatos, myAdapter, myTable, DataGridGrupo, SQL) 'LLAMAR AL MODULO PARA CARGAR EL DATAGRID
'********************************************************
End Sub
End Class
estos son los modulos que uso:
Sub conectarBD()
myConn = New SqlConnection("Initial Catalog=BD;Data Source=FIORELLA;Integrated Security=SSPI;")
Try 'Tratamiento de errores
myConn.Open()
'MessageBox.Show("Conexión correcta")
Catch ex As System.Runtime.InteropServices.COMException
'MessageBox.Show("Conexión fallida")
End Try
End Sub
Sub CargarDataGrid(ByVal OrigendeDatos As Windows.Forms.BindingSource, ByVal myAdapter As SqlDataAdapter, ByVal myTable As DataTable, ByVal DataGridGrupo As Object, ByVal SQL As String)
OrigendeDatos = New Windows.Forms.BindingSource 'instanciando a la clase. Creando una nueva instancia
'*****************************************************************************************************
myAdapter = New SqlDataAdapter(SQL, myConn) 'Crear un DataAdapter y
'pasarle el comando para traer los registros
'*****************************************************************************************************
myAdapter.Fill(myTable) ' lleno la tabla con los registros que me generan myAdaptar
'*****************************************************************************************************
OrigendeDatos.DataSource = myTable 'Enlazar el DataTable al BindingSource
'*****************************************************************************************************
DataGridGrupo.DataSource = OrigendeDatos.DataSource 'Propiedades para el DataGridview
End Sub
Y este form tiene unos botones que son de actualización... Y en el evento click del botón llamo a un nuevo form donde es que hago las sentencias insert, update ... Pero cuando hago los cambios me veo en la necesidad de cerrar el form donde cargo el datagrid para poder ver los cambios realizados... Intente hacer un update() o un refresh() en al momento de hacer las instrucciones sql ... Pero no resulta! Espero me puedan orientar...
Gracias...
Mi duda es la siguiente: Estoy usando un DataGridView para cargar información de una Bd SQL Server ... Pero estoy teniendo problemas para actualizarlos luego de hacer una modificación en la bd ... La funcionalidad de mi aplicación va así: en una form hago la carga del datagrid con el siguiente código:
'Declaracion de variable
Dim myCmd As SqlCommand 'para cargar la consulta SQL
Dim myAdapter As SqlDataAdapter 'para cargar los datos porque el myCmd no funciona esa mierda!!!
Dim myTable As New DataTable 'la tabla donde cargare los datos para pasarselos al DataGridView
Dim OrigendeDatos As Windows.Forms.BindingSource 'encapsulo el origen de datos de un form
Private Sub VentanaGrupo_Load(ByVal ...) Handles MyBase.Load
Me.MdiParent = VentanaPrincipal 'Formulario MDI
'***********************************************
Call BD.conectarBD() 'LLAMAR AL MODULO PARA CONECTAR LA BD
'***********************************************
SQL = "SELECT * FROM PROYECTO 'Sentencia sql de consulta
'*****************************
Call BD.CargarDataGrid(OrigendeDatos, myAdapter, myTable, DataGridGrupo, SQL) 'LLAMAR AL MODULO PARA CARGAR EL DATAGRID
'********************************************************
End Sub
End Class
estos son los modulos que uso:
Sub conectarBD()
myConn = New SqlConnection("Initial Catalog=BD;Data Source=FIORELLA;Integrated Security=SSPI;")
Try 'Tratamiento de errores
myConn.Open()
'MessageBox.Show("Conexión correcta")
Catch ex As System.Runtime.InteropServices.COMException
'MessageBox.Show("Conexión fallida")
End Try
End Sub
Sub CargarDataGrid(ByVal OrigendeDatos As Windows.Forms.BindingSource, ByVal myAdapter As SqlDataAdapter, ByVal myTable As DataTable, ByVal DataGridGrupo As Object, ByVal SQL As String)
OrigendeDatos = New Windows.Forms.BindingSource 'instanciando a la clase. Creando una nueva instancia
'*****************************************************************************************************
myAdapter = New SqlDataAdapter(SQL, myConn) 'Crear un DataAdapter y
'pasarle el comando para traer los registros
'*****************************************************************************************************
myAdapter.Fill(myTable) ' lleno la tabla con los registros que me generan myAdaptar
'*****************************************************************************************************
OrigendeDatos.DataSource = myTable 'Enlazar el DataTable al BindingSource
'*****************************************************************************************************
DataGridGrupo.DataSource = OrigendeDatos.DataSource 'Propiedades para el DataGridview
End Sub
Y este form tiene unos botones que son de actualización... Y en el evento click del botón llamo a un nuevo form donde es que hago las sentencias insert, update ... Pero cuando hago los cambios me veo en la necesidad de cerrar el form donde cargo el datagrid para poder ver los cambios realizados... Intente hacer un update() o un refresh() en al momento de hacer las instrucciones sql ... Pero no resulta! Espero me puedan orientar...
Gracias...
1 Respuesta
Respuesta de gamo80
1