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

Problema para Actualizar Registros de la Base de Datos....

Estas en el tema de Problema para Actualizar Registros de la Base de Datos.... en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 28/03/2003, 18:19
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 21 años, 1 mes
Puntos: 0
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???...

Gracias...

Saludos...
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80

Última edición por MsTech.DotNet; 28/03/2003 a las 18:50
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 19:09.