![]() |
Problema para Actualizar Registros de la Base de Datos.... Tengo el siguiente codigo... <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <html> <script language="VB" runat="server"> Dim MyConnection As SqlConnection Sub Page_Load(Sender As Object, E As EventArgs) MyConnection = New SqlConnection("server=(local);database=bdcet;Trust ed_Connection=yes") If Not (IsPostBack) BindGrid() End If End Sub Sub MyDataGrid_Delete(Sender As Object, E As DataGridCommandEventArgs) Dim MyCommand As SqlCommand Dim DeleteCmd As String = "DELETE from areas where idarea = @id" MyCommand = New SqlCommand(DeleteCmd, MyConnection) MyCommand.Parameters.Add(New SqlParameter("@id", SqlDbType.NVarChar, 4)) MyCommand.Parameters("@id").Value = MyDataGrid.DataKeys(CInt(E.Item.ItemIndex)) MyCommand.Connection.Open() Try MyCommand.ExecuteNonQuery() Message.InnerHtml = "<b>Registro Eliminado con Exito!</b><br>" & DeleteCmd Catch Exc As SQLException Message.InnerHtml = "<b>ERROR: no se pudo eliminar el registro</b>" Message.Style("color") = "red" End Try MyCommand.Connection.Close() BindGrid() End Sub Sub MyDataGrid_Edit(Sender As Object, E As DataGridCommandEventArgs) MyDataGrid.EditItemIndex = CInt(E.Item.ItemIndex) BindGrid() End Sub Sub MyDataGrid_Cancel(Sender As Object, E As DataGridCommandEventArgs) MyDataGrid.EditItemIndex = -1 BindGrid() End Sub Sub MyDataGrid_Update(Sender As Object, E As DataGridCommandEventArgs) Dim MyCommand As SqlCommand Dim UpdateCmd As String = "UPDATE areas SET area=@area where idarea=@id" MyCommand = New SqlCommand(UpdateCmd, MyConnection) MyCommand.Parameters.Add(New SqlParameter("@id", SqlDbType.NVarChar, 4)) MyCommand.Parameters.Add(New SqlParameter("@area", SqlDbType.NVarChar, 30)) MyCommand.Parameters("@id").Value = MyDataGrid.DataKeys(CInt(E.Item.ItemIndex)) MyCommand.Connection.Open() MyCommand.ExecuteNonQuery() Message.InnerHtml = "<b>Registro actualizado</b><br>" & UpdateCmd.ToString() MyDataGrid.EditItemIndex = -1 MyCommand.Connection.Close() BindGrid() End Sub Sub BindGrid() Dim DS As DataSet Dim MyCommand As SqlDataAdapter MyCommand = New SqlDataAdapter("select * from areas", MyConnection) DS = new DataSet() MyCommand.Fill(DS, "areas") MyDataGrid.DataSource=DS.Tables("areas").DefaultVi ew MyDataGrid.DataBind() End Sub </script> <body style="font: 10pt verdana"> <form runat="server"> <h3><font face="Verdana">Mantenimiento Tabla Areas</font></h3> <span id="Message" EnableViewState="false" style="font: arial 11pt;" runat="server"/> <p> <ASP:DataGrid id="MyDataGrid" runat="server" Width="400" BackColor="#CCCCCC" BorderColor="black" ShowFooter="false" CellPadding=3 CellSpacing="0" Font-Name="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#c0c0c0" DataKeyField="idarea" OnDeleteCommand="MyDataGrid_Delete" OnEditCommand="MyDataGrid_Edit" OnCancelCommand="MyDataGrid_Cancel" OnUpdateCommand="MyDataGrid_Update" AutoGenerateColumns="false" > <Columns> <asp:EditCommandColumn EditText="Editar" CancelText="Cancelar" UpdateText="Actualizar" ItemStyle-Wrap="false"/> <asp:ButtonColumn Text="Eliminar" CommandName="Delete"/> <asp:BoundColumn HeaderText="Id Area" SortExpression="id" ReadOnly="True" DataField="idarea" ItemStyle-Wrap="false"/> <asp:BoundColumn HeaderText="Area" SortExpression="area" DataField="area"/> </Columns> </ASP:DataGrid> </form> </body> </html> El error que me da al querer actualizar un registro es el siguiente... La instrucción preparada '(@id nvarchar(4),@area nvarchar(30))UPDATE areas SET area=@area ' espera el parámetro @id, que no se ha especificado. Que puede ser???... :pensando: Gracias... :arriba: Saludos... :adios: |
| La zona horaria es GMT -6. Ahora son las 08:45. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.