Foros del Web » Programación para mayores de 30 ;) » .NET »

Error DataRow ADO.NET

Estas en el tema de Error DataRow ADO.NET en el foro de .NET en Foros del Web. DataSet daSet = new DataSet(); NpgsqlDataAdapter nda = new NpgsqlDataAdapter(); nda.SelectCommand = new NpgsqlCommand("select * from "Ayuda"", conex); NpgsqlCommandBuilder npcb = new NpgsqlCommandBuilder(nda); conex.Open(); nda.Fill(daSet); ...
  #1 (permalink)  
Antiguo 25/02/2008, 11:37
 
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
Error DataRow ADO.NET

DataSet daSet = new DataSet();

NpgsqlDataAdapter nda = new NpgsqlDataAdapter();

nda.SelectCommand = new NpgsqlCommand("select * from "Ayuda"", conex);

NpgsqlCommandBuilder npcb = new NpgsqlCommandBuilder(nda);



conex.Open();

nda.Fill(daSet);



nda.InsertCommand = npcb.GetInsertCommand(daSet.Tables[0].Rows[0]);

DataRow daRow = daSet.Tables[0].NewRow();



daRow["titulo"] = "55";

daRow["descriptivo"] = "777";

daRow["indexTopic"] = "999";



daSet.Tables[0].Rows.Add(daRow);



nda.Update(daSet);

me manda un error al momento de actualizar la tabla el error dice ke no existe una columna con el nombre "indextopic", asi en minusculas, lo raro es que si utilizo el indice tambien me manda el error









me manda un error al momento de actualizar la tabla el error dice ke no existe una columna con el nombre "indextopic", asi en minusculas, lo raro es que si utilizo el indice tambien me manda el error
en mi desesperacion eh llegado a utilizar cosas como esta:

daRow[daSet.Tables[0].Columns[0].ColumnName];

o

daRow[0];

y me manda el mismo error aun cuando nisikiera escribo yo "indextopic", si le cambio el nombre de la columna a mi Base de datos(todo en misnusculas) si me lo valida, pero tengo entendido ke ADO.net es case sensitive, entonces ya no entiendo nada.
  #2 (permalink)  
Antiguo 25/02/2008, 12:37
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 2 meses
Puntos: 7
Re: Error DataRow ADO.NET

Cita:
[...] y me manda el mismo error aun cuando nisikiera escribo yo "indextopic", si le cambio el nombre de la columna a mi Base de datos(todo en misnusculas) si me lo valida, pero tengo entendido ke ADO.net es case sensitive, entonces ya no entiendo nada.
ADO.NET no tiene nada que ver nada en este caso, el "problema" es que PostgreSQL por omisión convierte a minúsculas todo identificador que uses como nombre de tablas o columnas a menos que encierres entre comillas dobles los mismos.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 25/02/2008, 12:54
 
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
Re: Error DataRow ADO.NET

Gracias, tome eso como una opcion pero al principio solo cambiaba el nombre de la columna antes de hacer el update, lo ke hice fue cambiar el nombre de la columna despues de llenar el data set algo asi:

nda.Fill(daSet);
daSet.Tables[0].Columns[0].ColumnName = "\"indexTopic\"";

y a la hora de llenar hice esto:

daRow["\"indexTopic\""] = "333";

y ya no me marco ningun problema con el update... te mando un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:09.