Autor Tema: C# ejercicio resuelto conectar a base de datos CRUD create retrieve update delet  (Leído 1997 veces)

ThiDaper

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 8
    • Ver Perfil
Hola, solicito ayuda con este ejercicio. Este debe incluir una base de datos y un menú grafico, dejo a continuación las instrucciones del ejercicio.

Crear un sistema de inventario básico.

Consideraciones:

1 .- Debe tener un CRUD.

2.- El modelo inicial deberia tener al menos los siguientes atributos

 Id_Producto
 Descripcion_Producto
 Cantidad_Producto
 Valor_Producto

Además debería tener la posibilidad de exportar a un txt el inventario actual.
« Última modificación: 13 de Enero 2022, 19:41 por Ogramar »

ThiDaper

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 8
    • Ver Perfil
Re: ayuda con programa en C#
« Respuesta #1 en: 16 de Junio 2021, 03:14 »
he avanzado un poco con el codigo, aun em falta hacer la interzas y las base de datos y todo pero me e pillado con errores y no puedo avanzar mucho, si alguien pudiera ayudarme.

Código: [Seleccionar]
class Program
        {
            static void Main(string[] args)
            {
            Hashtable Inventario = new Hashtable();
            bool enter_menu = true;

                do
                {
                    int optionMenu = PrintMenu();

                    switch (optionMenu)
                    {
                        case 1:
                            Console.Clear();
                            Console.WriteLine("Agregar producto");
                            Inventario();
                            Console.ReadKey();
                            break;
                        case 2:
                            Console.Clear();
                            Console.WriteLine("Eliminar producto");
                            Eliminar_Producto();
                            Console.ReadKey();
                            break;

                        case 3:
                            Console.Clear();
                            Console.WriteLine("Buscar producto por Nombre");
                            Console.ReadKey();
                            break;
                   
                        case 4:
                            Console.Clear();
                            Console.WriteLine("Vaciar inventario");
                            Console.ReadKey();
                            break;

                        case 5:
                            Console.Clear();
                            enter_menu = false;
                            Console.WriteLine("============================================");
                            Console.WriteLine(" Programa fuera...");
                            Console.WriteLine("============================================");
                            break;

                        default:
                            Console.Clear();
                            Console.WriteLine("============================================");
                            Console.WriteLine(" E R R O R");
                            Console.WriteLine("============================================");
                            Console.ReadKey();
                            break;
                    }
                }
                while (enter_menu);
                Console.ReadKey();
            }
            private static int PrintMenu() //MENU PRINCIPAL
            {
                Console.Clear();
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("============================================");
                Console.WriteLine("");
                Console.WriteLine(" Elija operacíon");
                Console.WriteLine("");
                Console.WriteLine("============================================");
                Console.WriteLine("1.- Agregar Inventario  2.- Eliminar Producto");
                Console.WriteLine("3.- Buscar por Nombre   4.- Limpiar Agenda");
                Console.WriteLine("5.- Salir");
                Console.WriteLine("============================================");
                Console.WriteLine("");
                int optionMenu = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("");
                return optionMenu;
            }

            private static void Inventario() //AGREGAR PRODUCTO
            {
               
                string producto;
                int codigo;
                Console.Write("Procudto: ");
                productro = Console.ReadLine();
                Console.Write("Codigo: ");
                codigo = Convert.ToInt32(Console.ReadLine());
                agenda.Add(nombre, codigo);

                Console.WriteLine("Producto: {0} Codigo: {1}", nombre, codigo);

                return;
            }
            private static void Eliminar_Inventario()
            {

                Console.WriteLine("Ingrese el nombre del contacto: ");

                string eliminar = Console.ReadLine();

                Inventario.Remove(eliminar);

            }

        }
    }

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 988
    • Ver Perfil
Re: ayuda con programa en C#
« Respuesta #2 en: 16 de Junio 2021, 11:17 »
Revisa los nombres de variables, que estás usando.

-No estás usando ninguna agenda, si no un inventario. Tu HashTable se llama Inventario y es ahí donde tienes que agregar los productos
- No tienes ni necesitas ninguna variable "nombre"
- Al leer producto, has escrito mal el nombre, has puesto "productro"

Citar
            private static void Inventario() //AGREGAR PRODUCTO
            {
               
                string producto;
                int codigo;
                Console.Write("Procudto: ");
                productro = Console.ReadLine();
                Console.Write("Codigo: ");
                codigo = Convert.ToInt32(Console.ReadLine());
                agenda.Add(nombre, codigo);

                Console.WriteLine("Producto: {0} Codigo: {1}", nombre, codigo);

                return;
            }
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

ThiDaper

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 8
    • Ver Perfil
Re: ayuda con programa en C#
« Respuesta #3 en: 21 de Junio 2021, 02:49 »
he resuelto el ejercicio, me da algunos problemas con la conexión de la base de datos y en la clase de productos, pero por lo demás esta bien a mi parecer

Conexión
Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CDatos
{
    public class CD_Conexion
    {
        private SqlConnection Conexion = new SqlConnection("Server=(local);DataBase= Prueba;Integrated Security=true");

        public SqlConnection AbrirConexion()
        {
            if (Conexion.State == ConnectionState.Closed)
                Conexion.Open();
            return Conexion;
        }

        public SqlConnection CerrarConexion()
        {
            if (Conexion.State == ConnectionState.Open)
                Conexion.Close();
            return Conexion;
        }
    }
}

Productos
Código: [Seleccionar]
public class CD_Productos
    {
        private CD_Conexion conexion = new CD_Conexion();

        SqlDataReader leer;
        DataTable tabla = new DataTable();
        SqlCommand comando = new SqlCommand();

        public DataTable Mostrar() {
       
            comando.Connection = conexion.AbrirConexion();
            comando.CommandText = "MostrarProductos";
            comando.CommandType = CommandType.StoredProcedure;
            leer = comando.ExecuteReader();
            tabla.Load(leer);
            conexion.CerrarConexion();
            return tabla;
           
        }

        public void Insertar(string nombre,string desc,double precio, int stock ) {
           
            comando.Connection = conexion.AbrirConexion();
            comando.CommandText = "InsetarProductos";
            comando.CommandType = CommandType.StoredProcedure;
            comando.Parameters.AddWithValue("@nombre",nombre);
            comando.Parameters.AddWithValue("@descrip",desc);
            comando.Parameters.AddWithValue("@precio",precio);
            comando.Parameters.AddWithValue("@stock",stock);

            comando.ExecuteNonQuery();

            comando.Parameters.Clear();
       
        }

        public void Editar(string nombre, string desc, double precio, int stock,int id)
        {
           
            comando.Connection = conexion.AbrirConexion();
            comando.CommandText = "EditarProductos";
            comando.CommandType = CommandType.StoredProcedure;
            comando.Parameters.AddWithValue("@nombre", nombre);
            comando.Parameters.AddWithValue("@descrip", desc);
            comando.Parameters.AddWithValue("@precio", precio);
            comando.Parameters.AddWithValue("@stock", stock);
            comando.Parameters.AddWithValue("@id",id);

            comando.ExecuteNonQuery();

            comando.Parameters.Clear();
        }

        public void Eliminar(int id) {
            comando.Connection = conexion.AbrirConexion();
            comando.CommandText = "EliminarProducto";
            comando.CommandType = CommandType.StoredProcedure;

            comando.Parameters.AddWithValue("@idpro",id);

            comando.ExecuteNonQuery();

            comando.Parameters.Clear();
        }

    }
}

Código: [Seleccionar]
public class CN_Productos
    {
        private CD_Productos objetoCD = new CD_Productos();

        public DataTable MostrarProd() {

            DataTable tabla = new DataTable();
            tabla = objetoCD.Mostrar();
            return tabla;
        }
        public void InsertarPRod ( string nombre,string desc,string marca,string precio, string stock){

            objetoCD.Insertar(nombre,desc,marca,Convert.ToDouble(precio),Convert.ToInt32(stock));
    }

        public void EditarProd(string nombre, string desc, string marca, string precio, string stock,string id)
        {
            objetoCD.Editar(nombre, desc, marca, Convert.ToDouble(precio), Convert.ToInt32(stock),Convert.ToInt32(id));
        }

        public void EliminarPRod(string id) {

            objetoCD.Eliminar(Convert.ToInt32(id));
        }

    }
}


me falta agregar la presentacion grafica pero no e podido subir una imagen :d

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".