DataSet + DataTable

28/02/2004 - 19:47 por Ronald Renteria | Informe spam
Tengo el siguiente problema:

Estoy definiendo un archivo XML utilizando un DataSet y
un DataTable
de la siguiente manera:

DataSet ds = new DataSet("Historico");
DataTable dt = ds.Tables.Add("Mensaje");

dt.Columns.Add("Fecha");
dt.Columns.Add("De");
dt.Columns.Add("Conversacion");

ds.AcceptChanges();

La primera vez que lo escribo funciona de maravilla, lo
escribo con
el siguite codigo:

DataRow dr = dsa.Tables[0].NewRow();
dr["Fecha"] = Fecha.TimeOfDay.ToString();
dr["De"] = De.Trim();
dr["Conversacion"] = Mensaje.Trim();

dsa.Tables[0].Rows.Add(dr);
dsa.AcceptChanges();

dsa.WriteXml(MENSAJES);

Pero al tratar de aderirle una otra tabla llamada Mensaje
con la
misma definicion de la anterior saca un error y no lo
logro hacer:
esto lo hago con el siguiente codigo:

DataSet dsm = new DataSet();
dsm.ReadXml(MENSAJES);

DataTable dt = dsm.Tables.Add("Mensaje");
dt.Columns.Add("Fecha");
dt.Columns.Add("De");
dt.Columns.Add("Conversacion");

dsm.AcceptChanges();
dsm.WriteXml(MENSAJES);

int p = dsm.Tables.Count - 1;

////
DataRow dr = dsm.Tables[p].NewRow();
dr["Fecha"] = Fecha.TimeOfDay.ToString();
dr["De"] = De.Trim();
dr["Conversacion"] = Mensaje.Trim();

dsm.Tables[p].Rows.Add(dr);
dsm.AcceptChanges();

dsm.WriteXml(MENSAJES);

Deseo saber si es posible hacer esto y si lo estoy
haciendo bien.
gracias por la atencion prestada.
 

Leer las respuestas

#1 A.Poblacion
28/02/2004 - 20:05 | Informe spam
Bueno, en un primer vistazo al código, parece todo bastante correcto. Lo
único que yo le veo es que en la segunda parte haces un ReadXml de MENSAJE,
que si lo has grabado conforme con la primera parte contiene ya una tabla
llamada "Mensaje". A continuación le dices que quieres añadir una tabla
"Mensaje", con lo cual entrará en conflico con la que acabas de cargarle
dentro al DataSet. Si quieres tener las dos tablas a la vez, debes ponerles
nombres diferentes.


"Ronald Renteria" wrote in message
news:0f5f01c3fe2b$45b674a0$
Tengo el siguiente problema:

Estoy definiendo un archivo XML utilizando un DataSet y
un DataTable
de la siguiente manera:

DataSet ds = new DataSet("Historico");
DataTable dt = ds.Tables.Add("Mensaje");

dt.Columns.Add("Fecha");
dt.Columns.Add("De");
dt.Columns.Add("Conversacion");

ds.AcceptChanges();

La primera vez que lo escribo funciona de maravilla, lo
escribo con
el siguite codigo:

DataRow dr = dsa.Tables[0].NewRow();
dr["Fecha"] = Fecha.TimeOfDay.ToString();
dr["De"] = De.Trim();
dr["Conversacion"] = Mensaje.Trim();

dsa.Tables[0].Rows.Add(dr);
dsa.AcceptChanges();

dsa.WriteXml(MENSAJES);

Pero al tratar de aderirle una otra tabla llamada Mensaje
con la
misma definicion de la anterior saca un error y no lo
logro hacer:
esto lo hago con el siguiente codigo:

DataSet dsm = new DataSet();
dsm.ReadXml(MENSAJES);

DataTable dt = dsm.Tables.Add("Mensaje");
dt.Columns.Add("Fecha");
dt.Columns.Add("De");
dt.Columns.Add("Conversacion");

dsm.AcceptChanges();
dsm.WriteXml(MENSAJES);

int p = dsm.Tables.Count - 1;

////
DataRow dr = dsm.Tables[p].NewRow();
dr["Fecha"] = Fecha.TimeOfDay.ToString();
dr["De"] = De.Trim();
dr["Conversacion"] = Mensaje.Trim();

dsm.Tables[p].Rows.Add(dr);
dsm.AcceptChanges();

dsm.WriteXml(MENSAJES);

Deseo saber si es posible hacer esto y si lo estoy
haciendo bien.
gracias por la atencion prestada.

Preguntas similares