Error al añadri registro en access

14/10/2004 - 13:40 por berto | Informe spam
Hola a todos :)

Estoy haciendo mis primeras pruebas con ADO.NET. He creado en access una
tabla como esta

TAreas
Nombre [texto]
Color [entero]

Intento añadir un registro desde C# con este codigo:


string connstr = "provider=Microsoft.JET.OLEDB.4.0; " +
"data source = E:\\Trabajo\\EnDesarrollo\\LCHArena\\DB\\Test.mdb";
string commstr = "SELECT * FROM TAreas";

// Generar DataSet con tabla TAreas
OleDbDataAdapter adapter = new OleDbDataAdapter(commstr,connstr);
DataSet dset = new DataSet();
adapter.Fill(dset,"TAreas");

DataRow dr = dset.Tables[0].NewRow();
dr["Nombre"] = "Color1";
dr["Color"] = 1;
dset.Tables[0].Rows.Add(dr);
adapter.Update(dset,"TAreas");

y obtengo una excepcion con el siguiente mensaje:

Excepción no controlada del tipo 'System.InvalidOperationException' en
system.data.dll

Información adicional: Update requiere que InsertCommand sea válido
cuando se pasa la colección DataRow con nuevas filas.

He estado leyendo un libro de ADO.NET y parece que lo que hago es
correcto. Me podeis dar una pista?

Muchas gracias ;)
 

Leer las respuestas

#1 Cesarion
14/10/2004 - 14:13 | Informe spam
Bueno, loq eu sucede es que no has definido la propiedad insert command del
DataAdapter, esta propiedad le indica al DataAdapter que instrucción debe
utilizar el adaptador para insertar los nuevos registros en la base de datos

Cesarion From Colombia

"berto" wrote:

Hola a todos :)

Estoy haciendo mis primeras pruebas con ADO.NET. He creado en access una
tabla como esta

TAreas
Nombre [texto]
Color [entero]

Intento añadir un registro desde C# con este codigo:


string connstr = "provider=Microsoft.JET.OLEDB.4.0; " +
"data source = E:\\Trabajo\\EnDesarrollo\\LCHArena\\DB\\Test.mdb";
string commstr = "SELECT * FROM TAreas";

// Generar DataSet con tabla TAreas
OleDbDataAdapter adapter = new OleDbDataAdapter(commstr,connstr);
DataSet dset = new DataSet();
adapter.Fill(dset,"TAreas");

DataRow dr = dset.Tables[0].NewRow();
dr["Nombre"] = "Color1";
dr["Color"] = 1;
dset.Tables[0].Rows.Add(dr);
adapter.Update(dset,"TAreas");

y obtengo una excepcion con el siguiente mensaje:

Excepción no controlada del tipo 'System.InvalidOperationException' en
system.data.dll

Información adicional: Update requiere que InsertCommand sea válido
cuando se pasa la colección DataRow con nuevas filas.

He estado leyendo un libro de ADO.NET y parece que lo que hago es
correcto. Me podeis dar una pista?

Muchas gracias ;)

Preguntas similares