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

System.Data.OleDb.OleDbException: La operación debe usar una consulta actualizable.

Estas en el tema de System.Data.OleDb.OleDbException: La operación debe usar una consulta actualizable. en el foro de .NET en Foros del Web. Hola a todos: En primer lugar agradecer la existencia de este foro, que aunque nunca había escrito ningún post, me ha ayudado con muchísimas dudas ...
  #1 (permalink)  
Antiguo 13/05/2008, 15:47
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 17 años, 3 meses
Puntos: 0
Exclamación System.Data.OleDb.OleDbException: La operación debe usar una consulta actualizable.

Hola a todos:

En primer lugar agradecer la existencia de este foro, que aunque nunca había escrito ningún post, me ha ayudado con muchísimas dudas de programación Web y demás

Bueno, vamos con el problema en cuestión:

Tengo un formulario en ASP.NET que tiene que guardad unos datos en una BBDD Access. Pero al hacer el "cmd.ExecuteNonQuery();" me da el siguiente error:

System.Data.OleDb.OleDbException: La operación debe usar una consulta actualizable.

He estado mirando y la mayoría post hablan de permisos en la BBDD, pero creo que este no es mi problema, ya que la BBDD tiene el usuario ASPNET con permisos de escritura y lectura.

Aqui el error detallado que me da:

Código:
Error de servidor en la aplicación '/'.
--------------------------------------------------------------------------------

La operación debe usar una consulta actualizable. 
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código. 

Detalles de la excepción: System.Data.OleDb.OleDbException: La operación debe usar una consulta actualizable.

Error de código fuente: 


Línea 70:             OleDbCommand cmd = new OleDbCommand(strsql, connconn);
Línea 71:             connconn.Open();
Línea 72:                 cmd.ExecuteNonQuery();
Línea 73:                 connconn.Close();
Línea 74:             System.Net.Mail.MailMessage correo_respuesta = new System.Net.Mail.MailMessage();
 

Archivo de origen: d:\internet\contacto.aspx.cs    Línea: 72 

Seguimiento de la pila: 


[OleDbException (0x80004005): La operación debe usar una consulta actualizable.]
   System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +267
   System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +192
   System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +48
   System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +106
   System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +108
   contacto.submit_form(Object sender, EventArgs e) in d:\internet\contacto.aspx.cs:72
   System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +90
   System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +76
   System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +177
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746

 


--------------------------------------------------------------------------------
Información de versión: Versión de Microsoft .NET Framework:2.0.50727.1433; Versión ASP.NET:2.0.50727.1433
Y aquí el código .NET que estoy utilizando:

Código:
        try
        {
            OleDbConnection connconn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(@"webcontent.mdb") + ";");
            string strsql = "INSERT INTO forms (type) values ('contacto')";
            OleDbCommand cmd = new OleDbCommand(strsql, connconn);
            connconn.Open();
                cmd.ExecuteNonQuery();
                connconn.Close();
            System.Net.Mail.MailMessage correo_respuesta = new System.Net.Mail.MailMessage();
            correo_respuesta.From = new System.Net.Mail.MailAddress("[email protected]");
            correo_respuesta.To.Add("[email protected]");
            correo_respuesta.Subject = "FORMULARIO VENETO ENVIADO - Web";
            correo_respuesta.Body = "<p style=\"font:Arial;size:10px\">Su demanda o información ha sido enviada a Veneto</p>";
            correo_respuesta.IsBodyHtml = true;
            correo_respuesta.BodyEncoding = System.Text.Encoding.UTF8; ;
            correo_respuesta.Priority = System.Net.Mail.MailPriority.Normal;
            System.Net.Mail.SmtpClient smtp_respuesta = new System.Net.Mail.SmtpClient();
            smtp_respuesta.Host = "localhost";
            smtp_respuesta.EnableSsl = false;
            smtp_respuesta.Send(correo_respuesta);
            Response.Redirect("formularioenviado.aspx");
        }
        catch (HttpException ex)
        {
            Response.Redirect("errorenelenvio.aspx" );
        }
¿Alguna idea?

Gracias.
  #2 (permalink)  
Antiguo 14/05/2008, 17:05
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: System.Data.OleDb.OleDbException: La operación debe usar una consulta actualizabl

¿Nadie me puede ayudar?
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 22:27.