Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2011, 10:49
darco1103
 
Fecha de Ingreso: marzo-2011
Ubicación: Colombia
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Comparar columna datagrid con columna base de datos

Hola a todos...necesito comparar una columna de un datagrid con una columna que tengo en mi base de datos, de tal manera que si la columna del datagrid es igual a la columna que tengo en la bd me ACTUALICE la tabla ('tabla1'); y si No son iguales, entonces me debe GUARDAR los datos del datagrid en otra tabla('tabla2').

Para más detalle:
La tabla1 es la que comparo con el datagrid y es en la que se debe ACTUALIZAR
La tabla2 es en la que debo GUARDAR en el caso que la columna del datagrid sea diferente a la columna de la tabla1.

Mi problema es hacer la comparación de las columnas para crear el condicional

Estoy trabajando con vb.net y mi db es Mysql...el código que estoy manejando es el siguiente

Código vb:
Ver original
  1. Private Sub btnTerminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTerminar.Click
  2.         Dim num As String
  3.         Dim val As Integer
  4.         val = VALOR.Text
  5.         num = preparar.Text
  6.  
  7.         menu_diario.grilla_menu.CurrentRow.Cells(3).Value = num
  8.         menu_diario.grilla_menu.CurrentRow.Cells(4).Value = val
  9.  
  10.  
  11.         Dim cont As String
  12.         For i = 0 To grilla_productos.Rows.Count - 1
  13.             cont = grilla_productos.CurrentRow.Cells(3).Value
  14.  
  15.             Dim comando1 As New MySQLDriverCS.MySQLCommand
  16.             comando1.Connection = cnn
  17.             comando1.CommandType = CommandType.StoredProcedure
  18.             comando1.CommandText = "select * FROM detalle_comp1"
  19.  
  20.             Dim cursor2 As New MySQLDriverCS.MySQLDataAdapter
  21.             Dim dataset2 As New DataSet
  22.  
  23.             With cursor2
  24.                 .SelectCommand = comando1
  25.                 .Fill(dataset2, "t_detalle_comp1")
  26.             End With
  27.  
  28.             Dim dr As System.Data.IDataReader
  29.             dr = comando1.ExecuteReader()
  30.  
  31.             While dr.Read
  32.                 If cont = dr("cantidad") Then
  33.                     Dim id, medi, cant, prec As String
  34.                     For d = 0 To grilla_productos.Rows.Count - 1
  35.  
  36.                         id = grilla_productos.Rows(d).Cells(0).Value()
  37.                         medi = grilla_productos.Rows(d).Cells(2).Value()
  38.                         cant = grilla_productos.Rows(d).Cells(3).Value()
  39.                         prec = grilla_productos.Rows(d).Cells(4).Value()
  40.  
  41.                         Dim modificar As New MySQLDriverCS.MySQLCommand
  42.                         modificar.Connection = cnn
  43.                         modificar.CommandType = CommandType.StoredProcedure
  44.                         modificar.CommandText = "UPDATE detalle_comp1 SET medida = '" & medi & "',cantidad='" & cant & "',precio = '" & prec & "' WHERE id_detalle='" & id & "'"
  45.                         modificar.ExecuteNonQuery()
  46.                     Next
  47.                     Me.Close()
  48.  
  49.                 Else
  50.                     Dim id2, comp2, ingr2, medi2, cant2, prec2 As String
  51.                     For c = 0 To grilla_productos.Rows.Count - 1
  52.  
  53.                         id2 = grilla_productos.Rows(c).Cells(0).Value()
  54.                         comp2 = menu_diario.grilla_menu.CurrentRow.Cells(1).Value()
  55.                         ingr2 = grilla_productos.Rows(c).Cells(1).Value()
  56.                         medi2 = grilla_productos.Rows(c).Cells(2).Value()
  57.                         cant2 = grilla_productos.Rows(c).Cells(3).Value()
  58.                         prec2 = grilla_productos.Rows(c).Cells(4).Value()
  59.  
  60.                         Dim guardar As New MySQLDriverCS.MySQLCommand
  61.                         guardar.Connection = cnn
  62.                         guardar.CommandType = CommandType.StoredProcedure
  63.                         guardar.CommandText = "INSERT INTO detalle_comp2 VALUES ('" & id2 & "','" & comp2 & "','" & ingr2 & "','" & medi2 & "','" & cant2 & "','" & prec2 & "')"
  64.                         guardar.ExecuteNonQuery()
  65.                     Next
  66.                     Me.Close()
  67.  
  68.                 End If
  69.  
  70.             End While
  71.         Next
  72.  
  73.     End Sub