Mensaje dentro de Foro VB.NET

Responder 
#1 - 24/09/2006 22:43:21 Reporta abuso | Link Permanente
Oved fs
Usuario no registrado
Ayuda con error en ExecuteNonQuery

Responder Citar

Tengo el siguiente error al realizar la edición de un registro en una base de datos de Access, puedo realizar todo tipo de consultas, pero en cuanto quiero insertar, editar(en este caso) o eliminar un registro siempre me bota y me indica el error "La aplicacion debe usar una consulta actualizable" en la instrucción “orden.ExecuteNonQuery()”, estoy trabajando con asp net y vb net creando un archivo .aspx desde el block de notas. A continuacion muestro el codigo y agradezco de antemano la ayuda que me puedan brindar.

 

 

actualizar1.aspx

<%@ Import Namespace="System"%>

<%@ Import Namespace="System.Data"%>

<%@ Import Namespace="System.Data.OleDb"%>

<HTML>

<script language=VB  debug=true runat=server>

dim conexion as OleDbConnection=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\mibase.mdb;Persist Security Info=False")

 

Sub Page_Load(Sender as Object, e as EventArgs)

  '***** Solo para cuando se carga por primera vez la forma

  if Not IsPostBack then

    DespTabla()

  End if

End Sub

 

Sub DespTabla()

  dim canal as OleDbDataAdapter

  canal=new OleDbDataAdapter("Select * from mitabla", conexion)

  dim tabla as DataSet

  tabla=new DataSet()

  canal.Fill(tabla, "mitabla")

  tablagrid.DataSource=tabla

  tablagrid.DataMember="mitabla"

  tablagrid.DataBind()

End Sub

 

Sub DataGrid_Edit(Sender as Object, e as DataGridCommandEventArgs)

'***** Cargando el renglon donde se pidio la edicion

tablagrid.EditItemIndex=E.Item.ItemIndex

DespTabla()

End Sub

 

Sub DataGrid_Cancel(Sender as Object, e as DataGridCommandEventArgs)

  '***** Para cancelar solo poner edititemindex en -1 (ningun renglon)

  tablagrid.EditItemIndex=-1

  DespTabla()

End Sub

 

Sub DataGrid_Update(Sender as Object, E as DataGridCommandEventArgs)

  dim q as String

  q="Update mitabla set clave=@clave, nombre=@nombre, edad=@edad where clave=@clave"

  dim orden as OleDbCommand

  orden=new OleDbCommand(q, conexion)

  orden.Parameters.Add(new OleDbParameter("@clave", OleDbType.Integer))

  orden.Parameters.Add(new OleDbParameter("@nombre", OleDbType.VarWChar, 20))

  orden.Parameters.Add(new OleDbParameter("@edad", OleDbType.Integer))

  '***** Cargando textbox de clave con el valor de la clave

  orden.Parameters("@clave").Value=tablagrid.DataKeys(E.Item.ItemIndex)

  '***** Creando y cargando los demas textbox

  dim nomcajas()={"@clave", "@nombre", "@edad"}

  dim i as integer

  for i=1 to 3

    dim datocajas as String

    dim micaja as TextBox

    micaja=CType(E.Item.Cells(i).Controls(0), TextBox)

    datocajas=micaja.text

    orden.Parameters(nomcajas(i-1)).Value=Server.HtmlEncode(datocajas)

  Next i

  orden.Connection.Open()

  orden.ExecuteNonQuery()

  '***** Poniendo otra vez el datagrid en nada

  tablagrid.EditItemIndex=-1

  orden.Connection.Close()

  DespTabla()

End Sub

</script>

 

<Body Style="font: 10pt verdana">

  <form runat=server>

    <h3><font face="verdana">EDICION O ACTUALIZACION DE REGISTROS</font></h3>

    <span id="Message" EnableViewState="false" style="font:arial 11pt;" runat="server"/><p>

    <asp:DataGrid id="tablagrid" runat="server"

      width=400

      backcolor="#ccccff"

      bordercolor="black"

      showfooter="false"

      cellpadding=3

      cellspacing=0

      font-name=verdana

      font-size=8pt

      headerstyle-backcolor="#aaaadd"

      OnEditCommand="DataGrid_Edit"

      OnCancelCommand="DataGrid_Cancel"

      OnUpdateCommand="DataGrid_Update"

      DataKeyField="clave">

      <Columns>

        <asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="Update" ItemStyle-Wrap="false"/>

      </Columns>

    </asp:DataGrid>

  </form>

</body>
</html>

Volver arriba

Respuestas
Mostrar de en 15
#2 - 10/12/2017 9:34:05 Reporta abuso | Link Permanente
Alonso
Usuario no registrado
RE: Ayuda con error en ExecuteNonQuery

Responder Citar
Me podrias explicar eso por favor

Volver arriba

#3 - 27/03/2007 10:33:59 Reporta abuso | Link Permanente
Javillo
Usuario no registrado
RE: Ayuda con error en ExecuteNonQuery

Responder Citar
El problema viene por los permisos a carpeta donde esta el archivo o archivo , el usuario que debe tener los permisos es el ASP , espero q te sirva
Volver arriba

#4 - 25/09/2006 11:13:09 Reporta abuso | Link Permanente
subgurim
Fecha de registro: 01/12/2006
1 post en este tema
186 posts en foro vb.net
1777 posts en todos los foros
RE: Ayuda con error en ExecuteNonQuery

Responder Citar
Hopla Oved fs,

perdona si estoy diciendo una tontería, pero el Access permite "executeNonQuery"??

Porque utilizas el bloc de notas si con el webMatrix (para ASP.NET 1.1) o el VWD (para ASP.NET 2.0) son gratuitos y muy sencillos de usar?
Volver arriba
Mostrar de en 15