none
Insertar datos con asp.net c# y sql server RRS feed

  • Pregunta

  • Buenos días estimados.

    Estoy insertando datos desde asp.net a una tabla sql server. La idea de lo que estoy desarrollando es un carro de compras, pero me encontré con el siguiente inconveniente.

    Al comprar un producto lo inserta sin inconvenientes.

    public string grabar(DetaPedido dp)
        {
            string msg = "";
            // Obtiene el autogenerado 
            int np = autogenera();
            //Instaciamos la conexion
            Conexion cn = new Conexion();
            //Abrimos conexion
            cn.getCn.Open();
            //Definimos que es una transaccion
            SqlTransaction tr = cn.getCn.BeginTransaction(IsolationLevel.Serializable);
            //Comando que ejecuta el insert en la tb_pedido
            SqlCommand cmd = new SqlCommand("INSERT INTO pedido (nped, fpedido, nombre, autor, cliente, monto ) VALUES(@n, @c, @nom, @aut ,@f, @m)", cn.getCn,tr);
            //Lista de parametros
            cmd.Parameters.Add("@n", SqlDbType.Int).Value = np;
            cmd.Parameters.Add("@c", SqlDbType.DateTime).Value = dp.Fpedido;
            cmd.Parameters.Add("@nom", SqlDbType.VarChar).Value = dp.Nombre;
            cmd.Parameters.Add("@aut", SqlDbType.VarChar).Value = dp.Autor;
            cmd.Parameters.Add("@f", SqlDbType.VarChar).Value = dp.Cliente;
            cmd.Parameters.Add("@m", SqlDbType.Decimal).Value = dp.Monto;
    
            try
            {
                //Ejecuto
                cmd.ExecuteNonQuery();
                tr.Commit(); //Actualizar bd
                msg = "Pedido solicitado con éxito";
            }
            catch (Exception ex)
            {
                //De haber un error lo capturo
                msg = ex.Message;
                //Deshacemos la operacion
                tr.Rollback();
            }
            finally
            {
                cn.getCn.Close(); //Cerramos la conexion
            }
            return msg;
    
        }

    El problema es que en la compra se pueden agregar más de un producto y ahí el programa no hace nada. Me pueden dar sus opiniones de como lo puedo solucionar.

    Muchas gracias!!! Saludos.

    miércoles, 3 de julio de 2013 15:04

Respuestas

  • pues a mi criterio, necesitas una lista de productos.

    yo haría dos tablas, una tabla llamada Compras (por ejemplo)

    y otra tabla llamada LineasCompra.

    en la primera tabla metería el ID de la compra con la fecha y datos relacionados con la compra mientras que en la segunda, pues los datos relacionados con la compra y productos.

    con un foreach recorres la lista de tus productos y vas haciendo las diferentes inserciones.

    Saludos!

    • Marcado como respuesta mar21_aet jueves, 4 de julio de 2013 12:39
    miércoles, 3 de julio de 2013 16:23

Todas las respuestas

  • pues a mi criterio, necesitas una lista de productos.

    yo haría dos tablas, una tabla llamada Compras (por ejemplo)

    y otra tabla llamada LineasCompra.

    en la primera tabla metería el ID de la compra con la fecha y datos relacionados con la compra mientras que en la segunda, pues los datos relacionados con la compra y productos.

    con un foreach recorres la lista de tus productos y vas haciendo las diferentes inserciones.

    Saludos!

    • Marcado como respuesta mar21_aet jueves, 4 de julio de 2013 12:39
    miércoles, 3 de julio de 2013 16:23
  • Gracias, lo hice parecido a lo que comentas.

    Saludos.

    jueves, 4 de julio de 2013 12:39