我有2个表,(tableProducts,tableSpent) 我想做“当我在tableSpent添加新的废产品时,NumberofTotal = NumberofTotal - SpentProductnumber”
例如,总产品上的3种产品
SEQDSD-PENCIL-15
QWEWQD-BOOK-10
ASGAGG-SHARPENER-45
我将在SpentProduct表中添加这些信息
ASGAGG - SHARPENER -20 - 为学校
我想从TotalProducts删除这个号码(20) 所以Total Products必须看起来像
SEQDSD-PENCIL-15
QWEWQD-BOOK-10
ASGAGG-SHARPENER-25
这是我在Spent表中添加已用产品的代码 但Idk如何从Products Products表中删除此计数 当我点击button1时,它必须在SpentTable中添加4个文本框的数据 它必须从TotalProducts名称
中删除该号码我该怎么做?
这是我的添加代码.//名称和行数是不同的翻译原因:)
if (conn.State == ConnectionState.Closed)
conn.Open();
string kayit = "insert into projeSarfBase(urunKodu,urunAdi,sarfAdet,projeKodu,projeAdi) values (@urunKodu,@urunAdi,@sarfAdet,@projeKodu,@projeAdi)";
SqlCommand komut = new SqlCommand(kayit, conn);
komut.Parameters.AddWithValue("@urunKodu", textBox1.Text);
komut.Parameters.AddWithValue("@urunAdi", textBox2.Text);
komut.Parameters.AddWithValue("@sarfAdet", textBox3.Text);
komut.Parameters.AddWithValue("@projeKodu", textBox4.Text);
komut.Parameters.AddWithValue("@projeAdi", textBox5.Text);
komut.ExecuteNonQuery();
conn.Close();
答案 0 :(得分:0)
商业产品处理此问题的方式如下:
创建一个'交易'表。如下
Create Table InventTransactions (
ID int IDENTITY(1,1) PRIMARY KEY,
ProductID NVarChar(25),
Reference NVarchar(25),
TransactionDate datetime,
Quantity int)
如果要记录购买产品,请将数量设置为正值
insert into InventTransactions (ProductID,Reference,TransactionDate,Quantity)
Values ('SHARPENER','Purchase Order #1',getDate(),45);
当你'花费'产品,你发布负数
insert into InventTransactions (ProductID,Reference,TransactionDate,Quantity)
Values ('SHARPENER','ForSchool',getDate(),-20);
在任何时候,您只需将所有数量相加即可获得结果
产品总数:
Select ProductID, sum(quantity) from InventTransactions group by ProductID
Having SUM(Quantity)>0
这种方法可以提高性能(您只需要为每个事务标记一个条目),并为您提供库存来源及其去向的永久记录。它还允许您询问有关数据的更多有趣问题,例如" X日期的库存是什么"或者'我每周使用多少这个项目" (通过过滤日期)。