Hola chic@s. Tengo un codigo que se supone deberia:
-Conectar con base Access a la tabla "tabla" con un solo campo "nombre"
-Traer los datos a un DataSet
-Agreagar una fila al DataSet
-Reflejar el cambio del DataSet en la base de datos
Lo que no me funciona es el reflejar los datos, ya que si pido mostrar el DataSet me muestra la fila que agregue.
Les dejo el codigo y el error que me da:
Código:
void Page_Load(Object Src, EventArgs E)
{
System.Data.OleDb.OleDbConnection conexion=new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:/base1.mdb;");
OleDbDataAdapter adaptador=new OleDbDataAdapter("SELECT * FROM tabla", conexion);
adaptador.InsertCommand=new OleDbCommand("INSERT INTO tabla (nombre) VALUES (@inNombre)", conexion);
adaptador.InsertCommand.Parameters.Add("@inNombre", OleDbType.VarChar, 50, "nombre");
DataSet ds=new DataSet();
adaptador.Fill(ds);
DataRow nuevaFila=ds.Tables[0].NewRow();
nuevaFila["nombre"]="Pepe";
ds.Tables[0].Rows.Add(nuevaFila);
adaptador.Update(ds);
conexion.Close();
}
</script>
El error es: Exception Details: System.Data.OleDb.OleDbException: La operación debe usar una consulta actualizable.
La linea que me marca es la que contiene adaptador.Update(ds);
Si elimino esa linea todo funciona bien, pero como ya dije no me refleja los cambios del DataSer en la base de datos.
Se agradece de antemano cualquier ayuda.
Saludos!