Asignación de DataRows

16/07/2004 - 12:24 por Rodger | Informe spam
Hola,

Tengo el siguiente problema.
Cuando hago algo como esto:

DataRow dr = dataset1.tabla1.Rows[0];

Las modificaciones que haga apartir de ahora en dr se
replican automáticamente en el dataset.

Cómo puedo evitarlo?

Gracias,
.

Preguntas similare

Leer las respuestas

#1 Xavi
16/07/2004 - 13:09 | Informe spam
Hola Rodger.

Con la instrucción
DataRow dr = dataset1.tabla1.Rows[0];
alojas en dr una referencia al DataRow de tu DataSet, de modo que las
modificaciones que hagas se reflejarán en este.

Como solución puedes crear una tabla vacía y clonar en ella el contenido de
la tuya:
DataTable dt = dataset1.tabla1.Clone();
y ahora puedes trabajar con dt.Rows[0] sin afectar al DataSet original.



Saludos,
Xavi
Respuesta Responder a este mensaje
#2 Alejandro Perez
16/07/2004 - 16:04 | Informe spam
Hola Rodger, como te menciono Xavi, con esa instruccion
creas la referencia a ese datarow. Tienes como
alternativa hacer lo siguiente:

DataSet ds = new DataSet();
ds.Tables.Add();
ds.Tables[0].Columns.Add("Nombre",Type.GetType
("System.String"));
ds.Tables[0].Columns.Add("Apellido",Type.GetType
("System.String"));
ds.Tables[0].Rows.Add(new string[] {"Juan","Perez"});

DataRow dr = ds.Tables[0].NewRow();
dr.ItemArray = (object[]) ds.Tables[0].Rows
[0].ItemArray.Clone();
dr[0]="Maria";
dr[1]="Martinez";

De esta manera copias el arreglo de valores del datarow
al nuevo y luego puedes realizar cambios a tu nuevo
datarow sin afectar al dataset.

Te sirve?

Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela

Hola,

Tengo el siguiente problema.
Cuando hago algo como esto:

DataRow dr = dataset1.tabla1.Rows[0];

Las modificaciones que haga apartir de ahora en dr se
replican automáticamente en el dataset.

Cómo puedo evitarlo?

Gracias,
..


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida