ASP.NET - System.FormatException: 'La cadena de entrada no tiene el formato correcto.'

 
Vista:
sin imagen de perfil
Val: 27
Ha disminuido su posición en 2 puestos en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

System.FormatException: 'La cadena de entrada no tiene el formato correcto.'

Publicado por Edward (17 intervenciones) el 29/01/2020 22:16:58
Basicamente tengo dos DropdownList que en la BD son dos tablas una de marca y categorias, que estan referenciadas en la tabla productos, para poder seleccionar mas facil dichos parametros, hice el origen de datos de cada DropdownList atraves del asistente, me quedo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<label>Marca</label>
                   </div>
                   <div class="form-group">
                       <asp:DropDownList ID="ddlMarca" runat="server" DataSourceID="SqlDataSourceMarca" DataTextField="Marca" DataValueField="Marca" Width="184px" AutoPostBack="True">
                       </asp:DropDownList>
                       <asp:SqlDataSource ID="SqlDataSourceMarca" runat="server" ConnectionString="<%$ ConnectionStrings:SistemCSTConnectionString %>" SelectCommand="SELECT [Marca] FROM [MARCAS]"></asp:SqlDataSource>
                   </div>
                   <div class="form-group">
                       <label>Categoria</label>
                   </div>
                   <div class="form-group">
                       <asp:DropDownList ID="ddlCategoria" runat="server" DataSourceID="SqlDataSourceCate" DataTextField="Categoria" DataValueField="Categoria" Width="184px" AutoPostBack="True">
                       </asp:DropDownList>
                       <asp:SqlDataSource ID="SqlDataSourceCate" runat="server" ConnectionString="<%$ ConnectionStrings:SistemCSTConnectionString %>" SelectCommand="SELECT [Categoria] FROM [CATEGORIAS]"></asp:SqlDataSource>

y en el del boton asi:
1
2
3
4
5
6
7
8
9
10
11
12
13
SqlCommand sqlCmd = new SqlCommand("ProductosCreateOrUpdate", cn);
            sqlCmd.CommandType = CommandType.StoredProcedure;
            sqlCmd.Parameters.AddWithValue("@id", (hfProductoID.Value == "" ? 0 : Convert.ToInt32(hfProductoID.Value)));
            sqlCmd.Parameters.AddWithValue("@descripcion", txtDescripcion.Text.Trim());
            sqlCmd.Parameters.AddWithValue("@idmarca", Convert.ToInt32(ddlMarca.SelectedValue?.Trim()));
            sqlCmd.Parameters.AddWithValue("@idcategoria", Convert.ToInt32(ddlCategoria.SelectedValue?.Trim()));
            sqlCmd.Parameters.AddWithValue("@existencia", Convert.ToInt32(txtExistencia.Text.Trim()));
            sqlCmd.Parameters.AddWithValue("@precioA", float.Parse(txtprecioA.Text.Trim()));
            sqlCmd.Parameters.AddWithValue("@precioB", float.Parse(txtpreciob.Text.Trim()));
            sqlCmd.Parameters.AddWithValue("@precioC", float.Parse(txtprecioc.Text.Trim()));
            sqlCmd.Parameters.AddWithValue("@precioD", float.Parse(txtpreciod.Text.Trim()));
            sqlCmd.ExecuteNonQuery();
            cn.Close();
No encuentro una solucion ya que no soy tan viejo de estar en esto de la programacion y todavia soy un poco noob se podria decir
ma
baa
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Javier
Val: 33
Ha disminuido 1 puesto en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

System.FormatException: 'La cadena de entrada no tiene el formato correcto.'

Publicado por Javier (17 intervenciones) el 31/01/2020 18:05:25
En el select con que llenas los combos, el campo es el correcto? es decir, el campo Marca y Categoria es el correspondiente al ID o al a descripción?

Creo por ahi esta el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Wilfredo Patricio Castillo
Val: 169
Oro
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

System.FormatException: 'La cadena de entrada no tiene el formato correcto.'

Publicado por Wilfredo Patricio Castillo (75 intervenciones) el 03/02/2020 15:03:58
En los dropdownlist, el displaymember debe ser el nombre de la marca o de la categoria, pero en el valuemember debe id el idfamilia o idcategoria, para que puedas capturar ese dato, pero veo que estás usando solo el campo del nombre para ambas propiedades y es alli donde tienes el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar