Código vb.net:
Ver original
Private Sub Bgrabar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bgrabar.Click Dim horario As String ' va a llevar la hora de la grilla para buscar su id Dim turno As String ' va a llevar el turno de la grilla para buscar su id Dim dia As String ' va a llevar el dia de la grilla para buscar su id Dim curso As String ' va a llevar el curso de la grilla para buscar su id Dim fila As Integer ' va a contar la cantidad de filas grabadas Dim valor As Integer = 0 ' va verificar que la grilla no este vacia Dim ubicacion As Integer ' va a contar la cantidad de filas totales que tiene la grilla Dim ghorario As Integer ' va a llevar la id de la hora para grabar Dim gturno As Integer ' va a llevar la id del turno para grabar Dim gdia As Integer ' va a llevar la id del dia para grabar Dim gcurso As String ' va a llevar la id del curso para grabar ' VERIFICARA QUE REALMENTE DESEE GUARDAR LOS DATOS If MessageBox.Show("Esta seguro que quiere grabar estos datos", "Advertencia", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.Yes Then Try If grilla.Rows.Count > 0 Then ' verifica que exitan datos en la fila For i As Integer = 0 To grilla.Rows.Count - 1 ' deciende desde la primera fila hasta el ultimo cargado ' verifica por fila que en las fila esten cargados todos los datos If Me.grilla.Item(Column3.Index, i).Value <> Nothing And Me.grilla.Item(Column1.Index, i).Value <> Nothing And Me.grilla.Item(Column2.Index, i).Value <> Nothing And Me.grilla.Item(Column4.Index, i).Value <> Nothing Then horario = Me.grilla.Item(Column3.Index, i).Value dia = Me.grilla.Item(Column1.Index, i).Value ' turno = Me.grilla.Item(Column2.Index, i).Value curso = Me.grilla.Item(Column4.Index, i).Value ubicacion = ubicacion + 1 dsohorariodocente = objpersonal.obtenerhorariodocente(horario, dia, turno, curso) ' envia los string para devolver los id Try For Each x As DataRow In dsohorariodocente.Tables("ohorariodocente").Rows ghorario = x.ItemArray(2) gdia = x.ItemArray(3) gturno = x.ItemArray(1) gcurso = x.ItemArray(0) objpersonal.cargarhorariosprofesor(leg, ghorario, gdia, gturno, gcurso) ' graba los que estan bien fila = fila + 1 valor = 1 MessageBox.Show("La fila " & ubicacion & " grabada", "Error") Next Catch ex As Exception MessageBox.Show("Los datos de fila " & ubicacion & " ya fueron grabadas con anterioridad para este personal", "Error") End Try Else ubicacion = ubicacion + 1 MessageBox.Show("La fila " & ubicacion & " no tiene todos los datos cargados, por lo cual a partir de esta no se grabaran los datos", "Error") End If dsohorariodocente.Tables.Clear() Next If valor = 1 Then MessageBox.Show("Total de Filas correctamente grabadas: " & fila, " Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information) End If Else MessageBox.Show("La grilla debe tener algun valor", "Error", MessageBoxButtons.OK) End If Catch ex As Exception MessageBox.Show("Hubo un error en la grabacion de datos, por favor intente nuevamente", "Error", MessageBoxButtons.OK) End Try End If End Sub