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

Insetar En La Base De Datos con asp.net

Estas en el tema de Insetar En La Base De Datos con asp.net en el foro de .NET en Foros del Web. a ver, estoy intentando ejecutar este código para insertar un registro en la base de datos pero siempre me sale este error: ------------------------------------------------------------------------------------------- Cita: La ...
  #1 (permalink)  
Antiguo 08/05/2005, 11:38
 
Fecha de Ingreso: mayo-2005
Mensajes: 4
Antigüedad: 19 años
Puntos: 0
Exclamación Insetar En La Base De Datos con asp.net

a ver, estoy intentando ejecutar este código para insertar un registro en la base de datos pero siempre me sale este error:

-------------------------------------------------------------------------------------------


Cita:
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 108:orden.Connection.Open()
Línea 109:
Línea 110:orden.ExecuteNonQuery()
Línea 111:
Línea 112:orden.Connection.Close()


Archivo de origen: c:\inetpub\wwwroot\prog20b.aspx Línea: 110

Seguimiento de la pila:


[OleDbException (0x80004005): La operación debe usar una consulta actualizable.]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextE rrorHandling(Int32 hr) +41
System.Data.OleDb.OleDbCommand.ExecuteCommandTextF orSingleResult(tagDBPARAMS dbParams, Object& executeResult) +174
System.Data.OleDb.OleDbCommand.ExecuteCommandText( Object& executeResult) +92
System.Data.OleDb.OleDbCommand.ExecuteCommand(Comm andBehavior behavior, Object& executeResult) +65
System.Data.OleDb.OleDbCommand.ExecuteReaderIntern al(CommandBehavior behavior, String method) +112
System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +66
ASP.prog20b_aspx.INSERTAR(Object Sender, EventArgs E) in c:\inetpub\wwwroot\prog20b.aspx:110
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPo stBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEve ntHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCol lection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1292




--------------------------------------------------------------------------------
Información de versión: Versión de Microsoft .NET Framework:1.1.4322.2032; Versión de ASP.NET:1.1.4322.2032



alguien puede ayudar??? el código q estoy usando es el siguiente:

GRACIAS


-----------------------------------------------------------------------------------


Cita:
<script runat=server>

' creando y cargando coneccion, adpater, dataset como variables globales

DIM coneccion AS OLEDBCONNECTION

DIM canal AS OLEDBDATAADAPTER

DIM tabla AS DATASET

SUB Page_Load(Sender As Object, E As EventArgs)

coneccion = NEW OLEDBCONNECTION("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
Server.MapPath("datos\db1.mdb") & ";")

' cargando el adapter con la instruccion sql

canal = NEW OLEDBDATAADAPTER("select * from enero03", coneccion)

' cargando el dataset

tabla = NEW DATASET()

canal.FILL(tabla, "enero03")

' cargando el datagrid

TABLAGRID.DATASOURCE = tabla

TABLAGRID.DATAMEMBER = "enero03"

TABLAGRID.DATABIND()

' cargando el nuevo textbox con la nueva LETRA LETRA correpondiente

END SUB

SUB INSERTAR(Sender As Object, E As EventArgs)

' creando y cargando un objeto OLEDBCOMMAND

' instruccion sql insert into enero03(listacampos) values(listadatos)

' @variable es una variable de tipo command o parametro

DIM q AS STRING

DIM orden as OLEDBCOMMAND

q = "insert into enero03(LETRA,NOMBRE,EMPRESA) values(@LETRA, @NOMBRE, @EMPRESA)"

orden = NEW OLEDBCOMMAND(q, coneccion)

orden.Parameters.Add(new OleDbParameter("@LETRA", OleDbType.VarWChar, 1))

orden.Parameters("@LETRA").Value = LETRA.Text

orden.Parameters.Add(new OleDbParameter("@NOMBRE", OleDbType.VarWChar, 30))

orden.Parameters("@NOMBRE").Value = NOMBRE.Text

orden.Parameters.Add(new OleDbParameter("@EMPRESA", OleDbType.VarWChar, 3))

orden.Parameters("@EMPRESA").Value = EMPRESA.Text

orden.Connection.Open()

orden.ExecuteNonQuery()

orden.Connection.Close()

' REFRESCANDO DATASET con los nuevos datos de la tabla en disco

canal=new OleDbDataAdapter("select * from enero03", coneccion)

' creando el dataset y cargandolo

tabla= new DataSet()

canal.Fill(tabla, "enero03")

' recargando el datagrid

TABLAGRID.DataSource=tabla.Tables("enero03").Defau ltView

TABLAGRID.DataBind()

' cargando otra vez la caja de LETRA y limpiando las otras cajas

LETRA.Text=""

NOMBRE.Text=""

EMPRESA.Text=""

coneccion.Close()

END SUB

</script>
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 10:44.