Validar si ya existe un registro en SQL Server desde DataGridView en Visual Basic, si existe omitirlo y agregar registros nuevos
Buenos días/tardes/noches
Tengo un un DataGridView en VB el cual muestra estos datos: (estos datos se muestran de una tabla en access, aquí yo no puedo realizar ninguna modificación). NOTA: Se estarán agregando datos nuevos día a día y la misma columna Contador se va incrementando.
Al momento de darle al botón Exportar checadas a SQL, lo realiza de manera correcta.
El detalle es que si le vuelvo a dar otra vez clic al botón, me duplica los registros que ya existen.
Quisiera tomar la columna "Contador" (en SQL es ID) en el DataGridView como ID único al momento de exportar y que "omita" los registros que ya están en SQL Server y me valla agregando los nuevos datos.
Aquí dejo el código que estoy utilizando:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim agregar As SqlCommand = New SqlCommand("insert into checada values (@id, @Trabajador, @Fecha, @Checada, @Terminal)", conexion) conexion.Open() Dim fila As DataGridViewRow = New DataGridViewRow() Try For Each fila In DataGridView1.Rows Agregar. Parameters. Clear() Agregar. Parameters. AddWithValue("@id", Convert. ToDecimal(fila. Cells("Contador"). Value)) Agregar. Parameters. AddWithValue("@Trabajador", Convert. ToDecimal(fila. Cells("Trabajador"). Value)) Agregar. Parameters. AddWithValue("@Fecha", Convert. ToDateTime(fila. Cells("Fecha"). Value)) Agregar. Parameters. AddWithValue("@Checada", Convert. ToDateTime(fila. Cells("Checada"). Value)) Agregar. Parameters. AddWithValue("@Terminal", Convert. ToDecimal(fila. Cells("Terminal"). Value)) Agregar. ExecuteNonQuery() Next MessageBox.Show("DATOS EXPORTADOS CORRECTAMENTE A SQL") Catch ex As Exception MessageBox.Show("OCURRIO UN ERROR EN LA IMPORTACION, FAVOR DE COMUNICARSE CON IT SUPPORT") Finally conexion.Close() End Try End Sub
Respuesta de Tor Cheer