Уменьшать запас продуктов, реализовав Продажу

Я работаю в настольном приложении в Windows Forms и MySQL как администраторе базы данных.

Как я остаюсь в инвентаре, когда он реализует Продажу?

Это код, который занял для кнопки сохранять продажу. Данные, они присоединяются в таблицу продажа, и поля подмостков. Код функционирует и сохраняет меня, но я хочу остаться от инвентаря.

Код кнопки сохранять:

private void button8_Click(object sender, EventArgs e)
{
     Login.Venta_Tienda.VentaR pCliente = new Login.Venta_Tienda.VentaR();

     pCliente.Idproducto_V = textBox1.Text.Trim();
     pCliente.Producto_V = comboBox1.Text.Trim();
     pCliente.Cantidad_V = textBox2.Text.Trim(); 

     pCliente.Preciocxu_V = textBox3.Text.Trim(); 

     pCliente.Total_V = textBox5.Text.Trim();

     pCliente.Fechafac_V = dateTimePicker1.Value.Year
       + "/" + dateTimePicker1.Value.Month + "/" + dateTimePicker1.Value.Day;

     int resultado = Login.Venta_Tienda.MetodosVenta.Agregarp(pCliente);
     if (resultado > 0)
     {
         MessageBox.Show(
           "Venta Guardado Con Exito!!", "Guardado", MessageBoxButtons.OK,
           MessageBoxIcon.Information
         );
     }
     else
     {
         MessageBox.Show(
           "No se pudo guardar el cliente", "Fallo!!", MessageBoxButtons.OK,
           MessageBoxIcon.Exclamation
         );
     }
}

Поля таблицы ventatienda:

Idventa Int,
Idproducto VARCHAR,
Producto VARCHAR,
Cantidad  VARCHAR,
Preciocxu  VARCHAR,
Total  VARCHAR,
Fechafac  VARCHAR

Поля таблицы inventariomarket:

campos  INT,
IdProducto  VARCHAR,
Producto  VARCHAR,
Existencias  VARCHAR,
Precioxunidad  VARCHAR,
Proveedor  VARCHAR,
Fecha_Recibido  Date
3
задан 16.11.2016, 18:56
2 ответа

Отвечая твоему вопросу, deberГ-эксперту иметь относительную модель, похожую на этот, к которому я не стремлюсь, что это была одна soluciГіn, но sГ - достижение в diseГ±o твоей базы данных.

Inventario

, Когда ты реализуешь процесс Продажи, он должен волновать твою таблицу Инвентаря уменьшая запас продукта. Для этого ты должен делать в момент регистрирования продажи.

UPDATE inventariomarket
    SET stock = stock - @cantidad 
    WHERE IdAlmacen = @IdAlmacen AND IdProducto = @IdProducto

TambiГ©n podrГ-схвати создавать Сторе Продекуре и делать что-то как это:

ALTER PROCEDURE [dbo].[xspAfectaDetalleBodegaArticulo] 
(
    @idBodega VARCHAR(2),
    @idArticulo VARCHAR(6),
    @idMovimiento INT,
    @cantidad INT
)
AS
BEGIN

    SET NOCOUNT ON;

        INSERT INTO DetalleBodegaArticulo(idBodega, idArticulo, idMovimiento, cantidad)
    VALUES(@idBodega, @idArticulo, @idMovimiento, @cantidad)

    IF  @IdMovimiento = 2 
    BEGIN
        IF EXISTS( SELECT idBodega FROM BodegaArticulos WHERE idBodega = @idBodega AND idArticulo = @idArticulo ) 
            UPDATE BodegaArticulos
            SET stock = stock + @cantidad 
            WHERE idBodega = @idBodega AND idArticulo = @idArticulo
        ELSE
            INSERT INTO BodegaArticulos
            VALUES ( @idBodega, @idArticulo , @cantidad)
    END
    ELSE
    BEGIN 
        IF EXISTS( SELECT idBodega FROM BodegaArticulos WHERE idBodega = @idBodega AND idArticulo = @idArticulo ) 
            UPDATE BodegaArticulos
            SET stock = stock - @cantidad 
            WHERE idBodega = @idBodega AND idArticulo = @idArticulo
        ELSE
            PRINT('NO PUEDES REALIZAR LA VENTA, DEBIDO A QUE NO HAY PRODUCTOS EN STOCK')
    END
END 

ты Должен приспосабливать это к твоей необходимости.

1
ответ дан 24.11.2019, 12:35
  • 1
    спасибо друг! я увижу, как я это приспосабливаю, спасибо @PedroÁ vila. –  sunohara 16.11.2016, 19:22
  • 2
    @sunohara не забывай проголосовать как полезно, если ответ помог тебе в чем-то, или помечать как ответ, если я решаю твою проблему. –  Pedro Ávila 16.11.2016, 19:33
  • 3
    @PredroÁ vila я думаю, что уже я это сделал, ты предупреждаешь меня –  sunohara 16.11.2016, 20:06

Ты должен избавлять информацию с таблицы, следующей за этим отрицать у него количество, которое приносит клиент и новая информация вновь писать это в базе данных. Поскольку ты не оставляешь cГіdigo, я не могу помогать тебе в видении, есть ли у тебя ошибка в специфическом средстве или чем-то.

оставил Тебе какие-то ссылки как реализовывать ее conexiГіn Mysql и C#:

Соединил 1: http://evilnapsis.com/2015/07/10/conectar-visual-studio-y-csharp-con-mysql/

Соединил 2: https://www.youtube.com/watch? v=e8R3-EXqQIM

1
ответ дан 24.11.2019, 12:35
  • 1
    Основанный ответ ú nicamente в ссылках она не считается vá lida, потому что вышеупомянутые ссылки могут прекращать быть доступными в будущем. Прибывший этот момент твой ответ será completametne esté ril. Ссылки está n, хорошо чтобы дополнять ответ, но никогда они не должны быть необходимыми. –  eferion 16.11.2016, 17:45
  • 2
    спасибо, очень хороший вклад!, и если мои conecciones - conecciones видео, единственного, которого мне не хватает, он состоит в том, чтобы оставаться от формуляра покупок, количество в запасе меньше количество, которое нужно приносить, чтобы иметь новую информацию о запасе в формуляре инвентаря, и я не нахожу, как делание этой связи в коде, уже попробуйте пару форм и не солите. –  sunohara 16.11.2016, 17:48
  • 3
    @eferion я начинаюсь недавно в Stackoverflow и не прочитал полностью правила. Твоя серьезная рекомендация удалять ответ или изменять ее, спасибо за разъяснение. –  Patricio Nicolas 16.11.2016, 18:00
  • 4
    @sunohara ты был бы должен оставлять немного кода, чтобы помогать тебе лучшего способа. –  Patricio Nicolas 16.11.2016, 18:00
  • 5
    @sunohara рекомендуемое состоит в том, чтобы издавать вопрос, чтобы уважать биографию той же самой. Podrí схвати начинаться из-за того, что показывать структуру таблицы, которую нужно изменять así как элемент той же самой, что ты хочешь изменить. Tambié n serí в необходимое знание qué механизм ты используешь, чтобы сообщать тебе с базой данных... вещи así –  eferion 16.11.2016, 18:02