• Martes 14 de Mayo de 2024, 00:12

Autor Tema:  Agregar datos a un datagridview enlazado  (Leído 2345 veces)

carlosanpy

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Agregar datos a un datagridview enlazado
« en: Jueves 17 de Septiembre de 2009, 00:03 »
0
Hola a todos

Este problema me tiene ya bastante tiempo
Con esto cargo los datos a una tabla access

Primero declaro esto
Private MiAdaptadorMat As New OleDbDataAdapter("SELECT * FROM precios WHERE COS_MATMDO = 'MAT' ORDER BY COS_DESCR", MiConexion)
Private MiDataSetMat As New DataSet()
Private MiEnlazadorMat As New BindingSource

luego en el form_load cargo mi datagridview asi
Me.GridMateriales.DataSource = MiDataSetMat.Tables(0)

Luego en el boton agregar....

With MiAdaptadorMat
.InsertCommand = New System.Data.OleDb.OleDbCommand
.InsertCommand.Connection = MiConexion
.InsertCommand.CommandText = "INSERT INTO Precios(COS_DESCR,COS_COSTO) VALUES (@material,@costo)"
.InsertCommand.CommandType = System.Data.CommandType.Text
.InsertCommand.Parameters.Add("@material", OleDbType.VarChar).Value = txtMaterialesNuevoMat.Text
.InsertCommand.Parameters.Add("@costo", OleDbType.VarChar).Value = txtCostoEditMat.Text

End With

pero no se como agregar esos datos al datagrid.

Alguien podria darme una ayuda por favor

Gracias

CArlos

dlplenin

  • Miembro activo
  • **
  • Mensajes: 44
  • Nacionalidad: ec
    • Ver Perfil
Re: Agregar datos a un datagridview enlazado
« Respuesta #1 en: Jueves 17 de Septiembre de 2009, 06:33 »
0
hola
primero q nada decirte q no trabajo con access, asi q disculpas si me equivoco pero espero te sirva:

- de lo q entiendo q el codigo del "boton agregar" agrega correctamente el registro a la BDD.

si es asi deberias llamar nuevamente al proceso de carga de datos desde la BDD (ya q el nuevo dato se encuentra en BDD),
se me acurre la siguiente estructura:


Public Sub CargarDatos()
   Private MiAdaptadorMat As New OleDbDataAdapter("SELECT * FROM precios WHERE COS_MATMDO = 'MAT' ORDER BY COS_DESCR", MiConexion)
   Private MiDataSetMat As New DataSet()
   Private MiEnlazadorMat As New BindingSource
   Me.GridMateriales.DataSource = MiDataSetMat.Tables(0)
End Sub

Form_Load()
        CargarDatos()
End Sub

Sub boton_agregar()
        'aqui se deberia declarar MiAdaptadorMat con el query respectivo
        With MiAdaptadorMat
         .InsertCommand = New System.Data.OleDb.OleDbCommand
         .InsertCommand.Connection = MiConexion
         .InsertCommand.CommandText = "INSERT INTO Precios(COS_DESCR,COS_COSTO) VALUES (@material,@costo)"
         .InsertCommand.CommandType = System.Data.CommandType.Text
         .InsertCommand.Parameters.Add("@material", OleDbType.VarChar).Value = txtMaterialesNuevoMat.Text
         .InsertCommand.Parameters.Add("@costo", OleDbType.VarChar).Value = txtCostoEditMat.Text
        End With
        CargarDatos()
End Sub

saludos

carlosanpy

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Agregar datos a un datagridview enlazado
« Respuesta #2 en: Jueves 17 de Septiembre de 2009, 14:18 »
0
Hola gracias por responder,
El Public Sub CargarDatos() se inserta en un modulo o en el codigo del form ya que salta error si cargo en el form sobre todo en la parte private... (Private no es valido en una declaración de variables local)

gracias

dlplenin

  • Miembro activo
  • **
  • Mensajes: 44
  • Nacionalidad: ec
    • Ver Perfil
Re: Agregar datos a un datagridview enlazado
« Respuesta #3 en: Viernes 18 de Septiembre de 2009, 06:44 »
0
hola, perdon por la demora

va en el codigo del form y cambia los Private por "Dim"
- Lo q te propongo es hacer funciones por separado una q carga y una q inserta
- Desde la funcion insertar luego de agregar el registro se llama nuevamente a la funcion cargar (la cual asigna los datos al Grid)


saludos

carlosanpy

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Agregar datos a un datagridview enlazado
« Respuesta #4 en: Viernes 18 de Septiembre de 2009, 19:47 »
0
hola yo de nuevo
disculpa que te rompa cada rato, es que estoy autoaprendiendo de ustedes los expertos

como declaro MIenlazadorMat con el query? para cada acción?

Gracias una vez mas

Carlos