Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/06/2006, 13:38
Irving_24
 
Fecha de Ingreso: mayo-2006
Mensajes: 55
Antigüedad: 18 años, 10 meses
Puntos: 0
Error: Object must implement IConvertible.

Tengo un datagrid donde se encuentra un edititemtemplate, donde tengo un TextBox, en el cual va a actualizar el campo que se seleccione, este es el codigo:


<asp:datagrid id="lst_reg_serv" runat="server" Width="450px" AutoGenerateColumns="False" HeaderStyle-CssClass="enc">
<HeaderStyle CssClass="enc"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="Descripcion" ReadOnly="True" HeaderText="Servicio">
<ItemStyle CssClass="etiqueta"></ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="Cargo">
<ItemStyle CssClass="dato"></ItemStyle>
<ItemTemplate>
<asp:Label ID = "car_serv" Runat ="server" text = '<%# Container.DataItem("cargo")%>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID = "edit_cargo" Runat = "server" Text = '<%# Container.DataItem("cargo")%>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="vigencia" ReadOnly="True" HeaderText="Vigencia" DataFormatString="{0:dd-MM-yyyy}">
<ItemStyle CssClass="dato"></ItemStyle>
</asp:BoundColumn>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Enviar" HeaderText="Registrar Pago" CancelText="Cancelar"
EditText="Registrar">
<ItemStyle CssClass="dato"></ItemStyle>
</asp:EditCommandColumn>
</Columns>
</asp:datagrid>


En el evento del DataGrid donde actualizo es el siguiente:


Private Sub lst_reg_serv_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles lst_reg_serv.UpdateCommand

Dim cargo_servicio As String
cargo_servicio = CType(e.Item.FindControl("edit_cargo"), TextBox).Text

'Actualiza a Base de Datos
cmd = New SqlClient.SqlCommand("UPDATE CargoServicios SET cargo = @car_serv WHERE IdServicio = @id_serv")
cmd.Parameters.Add(New System.Data.SqlClient.SqlParameter("@id_serv", System.Data.SqlDbType.Int, 4))
cmd.Parameters.Add(New System.Data.SqlClient.SqlParameter("@car_serv", System.Data.SqlDbType.Decimal, 9))
con.Open()
cmd.Connection = con
cmd.Parameters("@id_serv").Value = lst_reg_serv.DataKeys
cmd.Parameters("@car_serv").Value = cargo_servicio
cmd.ExecuteNonQuery()
con.Close()

lst_reg_serv.EditItemIndex = -1
muestra_servicios()

Cuando ingreso el campo que quiero actualizar y le doy en enviar me manda el siguiente error:

Error: Object must implement IConvertible.

El campo que quiero actualizar en la base de datos es de tipo decimal

Alguien sabe porque me sale ese error?

Alguien tiene alguna sugerencia para resolver esto?

Der antemano les agradezco.

Saludos