Si usas .Net para programar, alguna vez habrás usado el objeto DataSet para contener registros que provengan de una base de datos, que por lo general, está en SQL Sever. Si vas a llamar varias veces a una misma tabla y guardar el resultado de cada lectura en un solo dataset es recomendable ir actualizando los registro en este dataset para evitar duplicidad. El primer paso para ir combinando los registros en un dataset es usar el procedimiento Dataset.merge() y una vez terminado el llenado del dataset usar la siguiente función en código VB que recibe un dataset y el nombre del campo clave de la tabla como patrón para eliminar registros duplicados. Al terminar de buscar los registros repetidos regresa un nuevo dataset con registros únicos.
Public Shared Function delDupRows(ByVal dTable As DataSet, ByVal colName As String) As DataSet Try Dim hTable As Hashtable = New Hashtable() Dim duplicateList As ArrayList = New ArrayList For Each drow As DataRow In dTable.Tables(0).Rows If (hTable.Contains(drow(colName))) Then duplicateList.Add(drow) Else hTable.Add(drow(colName), String.Empty) End If Next drow For Each drow As DataRow In duplicateList dTable.Tables(0).Rows.Remove(drow) Next drow Return dTable Catch ex As Exception Return Nothing End Try End Function End Class
WOWWWWWWWWW
ResponderBorrarMuchisimas gracias!, me ha ido genial este trozo de codigo.
Un abrazo!
bueno funciona pero ando buscando uno con varias columnas y trate de modificar este codigo pero no me funciona
ResponderBorrarsique si tienes alguna sugerencia te daria muchas gracias
Excelente, sólo copié y pegué y funcionó a la perfección
ResponderBorrargracias, saludos