Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/10/2014, 09:34
Avatar de adrirs11
adrirs11
 
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: Update dataset? no sobre una vista!

Solucionado!

Código:
Private Sub DataGridViewAgenda_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridViewAgenda.Validated

        'INI AGE
        'Declaramos un datatable y recogemos las filas modificadas del datagridview 
        Dim dtChanges As DataTable = DSOportunitat.Tables("vTareaAgenda").GetChanges

        'Comprobamos si el datatable contiene cambios (no esta vacio)
        If (Not dtChanges Is Nothing) Then

            'Hacemos un recorrido de las filas que contiene el datable con los cambios, y realizamos un update en la tabla tarea por cada uno de los cambios
            For value As Integer = 0 To dtChanges.Rows.Count - 1 Step +1

                Dim id As String = dtChanges.Rows.Item(value).Item(Me.DataGridViewAgenda.Columns(Me.PrioritariaDataGridViewCheckBoxColumn.Name).Index)

                Dim valor As Integer

                if (checkbox..... .checked = true){
                     valor = 1
                }else{
                     valor = 0
                }

                Dim query As String = "UPDATE tarea set prioritaria = " + valor + " WHERE id = " + id

                'Definición objeto Connection
                Dim conexion As OleDb.OleDbConnection
                'Definición objeto Command
                Dim cmdComando As OleDb.OleDbCommand
                'Cadena de conexion  para el objeto connection
                conexion.ConnectionString = My.Settings.LogOnConnection
                'Le pasamos la conexion al command
                cmdComando.Connection = conexion
                'Abrimos la conexion
                conexion.Open()
                'Le pasamos la query que debe ejecutar al command
                cmdComando.CommandText = query
                'Ejecutamos la query
                cmdComando.ExecuteNonQuery()
            Next
        End If
        'FIN AGE

    End Sub