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

Modificar base de datos desde datagrid (vb.net)

Estas en el tema de Modificar base de datos desde datagrid (vb.net) en el foro de .NET en Foros del Web. BUENOS DIAS...NECESITO MODIFICAR UNA TABLA DE MI BASE DE DATOS DESDE UN DATAGRID DESPUÉS DE PULSAR UN BOTÓN QUE SE LLAMA ACTUALIZAR. LO QUE PASA ...
  #1 (permalink)  
Antiguo 25/03/2011, 13:51
 
Fecha de Ingreso: marzo-2011
Ubicación: Colombia
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Modificar base de datos desde datagrid (vb.net)

BUENOS DIAS...NECESITO MODIFICAR UNA TABLA DE MI BASE DE DATOS DESDE UN DATAGRID DESPUÉS DE PULSAR UN BOTÓN QUE SE LLAMA ACTUALIZAR. LO QUE PASA ES QUE EL CÓDIGO ME ESTÁ MODIFICANDO TODA LA TABLA CON LOS MISMOS DATOS, EJEMPLO:
CUANDO CARGO LOS DATOS DE UNA TABLA DE NOMBRE 'detalle_productos' A MI DATAGRID,QUE TIENE LAS COLUMNAS: CODIGO COMPONENTE, INGREDIENTE, MEDIDA,CANTIDADY PRECIO, ÉSTE QUEDARÍA ASÍ:
EN LA PRIMERA FILA: 01---ARROZ---LIBRA---2---$1000
SI EN ÉSTA FILA CAMBIO EL PRECIO DE $1000 A $1200, ENTONCES CUANDO LE DOY MODIFICAR, ME LLENA TODA LA TABLA CON LOS DATOS DE LA FILA QUE MODIFIQUÉ DE TAL MANERA QUE SI EN LA TABLA HAY 5 REGISTROS TODOS QUEDAN ASÍ:
01---ARROZ---LIBRA---2---$1200
01---ARROZ---LIBRA---2---$1200
01---ARROZ---LIBRA---2---$1200
01---ARROZ---LIBRA---2---$1200
01---ARROZ---LIBRA---2---$1200

NECESITO QUE SE MODIFIQUEN SÓLAMENTE LOS DATOS QUE ALTERÉ EN EL DATAGRID Y LOS DEMÁS QUE LOS DEJE IGUAL

AQUÍ LES PASO EL CÓDIGO QUE ESTOY UTILIZANDO...SI TIENEN OTRA FORMA DE HACER ÉSTE PROCESO, LES AGRADEZCO QUE ME LA DIGAN, GRACIAS!
MI BASE DE DATOS ESTÁ HECHA EN MySql

Código vb:
Ver original
  1. Private Sub btnActualizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnActualizar.Click
  2.         Dim aux As String
  3.         Dim comp, ingr, medi, cant, prec As String
  4.  
  5.         For i As Integer = 0 To grilla_productos.Rows.Count - 1
  6.             comp = Trim(grilla_productos.Rows(i).Cells(0).Value)
  7.             ingr = Trim(grilla_productos.Rows(i).Cells(1).Value)
  8.             medi = Trim(grilla_productos.Rows(i).Cells(2).Value)
  9.             cant = Trim(grilla_productos.Rows(i).Cells(3).Value)
  10.             prec = Trim(grilla_productos.Rows(i).Cells(4).Value)
  11.  
  12.  
  13.             aux = MsgBox("¿ESTA SEGURO DE ACTUALIZAR ESTE REGISTRO?", MsgBoxStyle.YesNo, "ACTUALIZAR")
  14.  
  15.             If aux = 6 Then
  16.                 Dim guardar As New MySQLDriverCS.MySQLCommand
  17.                 guardar.Connection = cnn
  18.                 guardar.CommandType = CommandType.StoredProcedure
  19.                 guardar.CommandText = "UPDATE detalle_menu SET cod_comp='" & comp & "',ingredientes = '" & ingr & "', medida = '" & medi & "',cantidad='" & cant & "',precio = '" & prec & "' WHERE cod_comp='" & comp & "'"
  20.                 guardar.ExecuteNonQuery()
  21.  
  22.                 MsgBox("DATOS ACTUALIZADOS CORRECTAMENTE", MsgBoxStyle.Information, "ACTUALIZACION")
  23.  
  24.             Else
  25.  
  26.             End If
  27.         Next
  28.     End Sub
  #2 (permalink)  
Antiguo 27/03/2011, 20:35
 
Fecha de Ingreso: diciembre-2010
Mensajes: 63
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: Modificar base de datos desde datagrid (vb.net)

hola no uso mucho vb.net pero si c# ke para el caso es casi lo mismo lo ke puedes hacer es crear un dataset tipado con una tabla ke tenga los mismos campos ke tengas en la tabla de la base de datos

creas un objeto MySqlDataadapter adapter = new MySqlDataadapter("select * from 'tu tabla' ",objetoconnecion) ;

MySqlCOmmandBuilder builder = new MySqlCOmmandBuilder(adapter);
abres la coneccion

ejecutas el metodo adapter.Fill(tu_dataset,"tu_tabla");

tu datagrid.dataSource = tu_dataset;
tu datagrid.DataMember = "tu_tabla";

luego en el boton actualizar pones:

DataTable changes= tu_dataset.tables["tu_tabla"].GetChanges()
adapter.Update(changes)
tu_dataset.tables["tu_tabla"].AcceptChanges()

y listo esto actualizara tu base de datos exactamente como modificaste el datagrid

disculpa si no te lo pongo VB es ke me gusta mas C# y lo hago mas rapido
espero te sirva
  #3 (permalink)  
Antiguo 11/05/2011, 15:04
 
Fecha de Ingreso: mayo-2011
Mensajes: 1
Antigüedad: 12 años, 11 meses
Puntos: 0
Pregunta Respuesta: Modificar base de datos desde datagrid (vb.net)

Cita:
Iniciado por tiger015 Ver Mensaje
hola no uso mucho vb.net pero si c# ke para el caso es casi lo mismo lo ke puedes hacer es crear un dataset tipado con una tabla ke tenga los mismos campos ke tengas en la tabla de la base de datos

creas un objeto MySqlDataadapter adapter = new MySqlDataadapter("select * from 'tu tabla' ",objetoconnecion) ;

MySqlCOmmandBuilder builder = new MySqlCOmmandBuilder(adapter);
para que se utiliza o cual es la función del MySqlCOmmandBuilder builder
  #4 (permalink)  
Antiguo 11/05/2011, 19:42
 
Fecha de Ingreso: diciembre-2010
Mensajes: 63
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: Modificar base de datos desde datagrid (vb.net)

Cita:
Iniciado por vaena_007 Ver Mensaje
para que se utiliza o cual es la función del MySqlCOmmandBuilder builder
como su nombre lo indica es el constructor de comandos del dataadapter y se encarga se ejecutar los comando cunado se requiera ya sea como insert,update,delete y select fijate ke se le pasa el dataadapter al constructor, espero haberte aclarado
  #5 (permalink)  
Antiguo 22/03/2015, 16:14
 
Fecha de Ingreso: marzo-2015
Ubicación: ecuador
Mensajes: 2
Antigüedad: 9 años
Puntos: 0
Respuesta: Modificar base de datos desde datagrid (vb.net)

a mi me pasa lo mismo con este codigo ya lo solucionaron como lo hicieron

sql = "UPDATE VENTA SET DSCTO='" & TextBox1.Text & "',IVA='" & TextBox4.Text & "',TOTALAPAGAR='" & TextBox9.Text & "',DESCUENTO='" & TextBox15.Text & "',PRECIOTOTAL='" & TextBox8.Text & "' WHERE NUMFACTV=" & TextBox7.Text & ""
comm.CommandText = sql
Try
comm.ExecuteNonQuery()
MsgBox("Factura modificada exitosamente", MsgBoxStyle.Information, "SISTEMA DE VENTAS")
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Information, "SISTEMA DE VENTAS")
End Try
'For i As Integer = 0 To DataGridView1.Rows.Count - 1
For Each row As DataGridViewRow In DataGridView1.Rows
sql = "UPDATE TVENTA SET CANTIDAD='" & row.Cells(2).Value.ToString & "',VALORUNIT='" & row.Cells(3).Value.ToString & "',VALORTOTAL='" & row.Cells(4).Value.ToString & "' WHERE NUMFACTV=" & TextBox7.Text & ""
comm.CommandText = sql
Try
comm.ExecuteNonQuery()
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Information, "SISTEMAS DE VENTAS")
End Try
Next
'Next
  #6 (permalink)  
Antiguo 22/03/2015, 23:05
Avatar de emmax  
Fecha de Ingreso: agosto-2010
Ubicación: Sonora
Mensajes: 172
Antigüedad: 13 años, 7 meses
Puntos: 8
Respuesta: Modificar base de datos desde datagrid (vb.net)

Este mensaje tiene ya mucho tiempo que se abrio

Etiquetas: datagrid, modificar
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 20:15.