Visual CSharp .NET - comparar celdas de un datatable una a una y luego ..

   
Vista:

comparar celdas de un datatable una a una y luego ..

Publicado por gregdorian (6 intervenciones) el 14/11/2012 15:35:08
Hola a todos !!

necesito comparar celdas de un datatable una a una con otro datatable y luego .. agregar a un 3 datatable una columna si se borro, modifico o si es nueva fila o registro.

si saben de algun codigo les agradeceria como hacerlo

gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

comparar celdas de un datatable una a una y luego ..

Publicado por Fernando ferchu91@hotmail.com (6 intervenciones) el 26/11/2012 23:33:05
Lo de comparar los datatable celda a celda es facil, el código sería "algo asi"

1
2
3
4
5
6
7
8
9
10
for (int r=0; r<dt1.Rows.Count; r++)
{
     for (int c=0; c<dt1.Columns.Count; c++)
     {
           if (dt1.Rows[r].Coluns[c].Value == dt2.Rows[r].Coluns[c].Value)
               Son iguales
           else
               Son distintos
     }
}


Te quedaría obviamente por revisar que los dos data table tengan la misma cantidad de filas y columnas, y capturar los posibles errores al comparar los datos, etc.

Ahora lo de agregar una columna a un tercer data table no he entendido que quieres decir, los datatable ya traen una propiedad que indica si una fila fue modificada, eliminada, creada, etc, pero no se si es a esto a lo que te refieres...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar celdas de un datatable una a una y luego ..

Publicado por gregdorian (1 intervención) el 27/11/2012 03:31:08
Si me refiero a esa propiedad pero no se como colocarla en una columna del datatable
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar celdas de un datatable una a una y luego ..

Publicado por Ephesia (8 intervenciones) el 28/11/2012 00:19:16
Hola:
El problema de el código propuesto (algo parecido tuve que hacer una vez) es que consume una buena cantidad de tiempo si hay gran cantidad de registros...
Si hay muchos es impracticable y llega a colapsar el programa y salir el mensaje en la barra de 'programa x no responde'. Yo no lo solucioné, así que no puedo decir como exactamente, sólo puedo indicar que mis compañeros lo hicieron con una Procedure a nivel de tabla de datos de la base a la que correspondía, para finalizar con Create table donde se almacenaron los datos, creando finalmente una vista para mostrarlos. Funcionaba bien con algunos millones de registros.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar celdas de un datatable una a una y luego ..

Publicado por Fernando ferchu91@hotmail.com (6 intervenciones) el 28/11/2012 09:19:57
Hombre si, si puedes hacer un procedimiento a nivel de base de datos es mas rapido, pero la pregunta que hacias tu era como comparar un datatable. Estas trabajando con sql server?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar celdas de un datatable una a una y luego ..

Publicado por Ephesia (8 intervenciones) el 28/11/2012 19:26:19
Si, con sql Server.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar