SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: carlosanpy en Jueves 17 de Septiembre de 2009, 00:03
-
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
-
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
-
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
-
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
-
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