Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/01/2006, 22:05
zaqpz
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 19 años, 5 meses
Puntos: 2
Problemas con DataSet

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!
__________________
R4DS en español | R4DS en inglés