C# 有一个入库的子表可添加多行数据在修改的时候可以新增库存也可以修改库存也可以删除库存当这些操作完成后把最终的库存数据修改到另一个表中找对应的物资去计算库存怎么做
在C#中实现这个功能,你可以使用ADO.NET来操作数据库。首先,你需要创建两个表,一个是入库的子表,另一个是存储最终库存数据的表。
- 创建入库的子表:
CREATE TABLE 入库子表 (
ID int IDENTITY(1,1) PRIMARY KEY,
物资名称 varchar(100),
入库数量 int,
操作类型 varchar(10)
);
- 创建存储最终库存数据的表:
CREATE TABLE 最终库存表 (
ID int IDENTITY(1,1) PRIMARY KEY,
物资名称 varchar(100),
库存数量 int
);
- 在C#中将数据添加到入库的子表中:
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string sql = "INSERT INTO 入库子表 (物资名称, 入库数量, 操作类型) VALUES (@物资名称, @入库数量, @操作类型)";
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.AddWithValue("@物资名称", 物资名称);
command.Parameters.AddWithValue("@入库数量", 入库数量);
command.Parameters.AddWithValue("@操作类型", 操作类型);
command.ExecuteNonQuery();
}
- 在C#中根据操作类型,修改最终库存表中的数据:
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string sql = "";
if (操作类型 == "新增")
{
sql = "UPDATE 最终库存表 SET 库存数量 = 库存数量 + @入库数量 WHERE 物资名称 = @物资名称";
}
else if (操作类型 == "修改")
{
sql = "UPDATE 最终库存表 SET 库存数量 = @入库数量 WHERE 物资名称 = @物资名称";
}
else if (操作类型 == "删除")
{
sql = "UPDATE 最终库存表 SET 库存数量 = 库存数量 - @入库数量 WHERE 物资名称 = @物资名称";
}
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.AddWithValue("@入库数量", 入库数量);
command.Parameters.AddWithValue("@物资名称", 物资名称);
command.ExecuteNonQuery();
}
通过上述代码,你可以实现将入库子表中的数据根据操作类型修改到最终库存表中。请根据你的实际情况修改代码中的连接字符串和参数值
原文地址: https://www.cveoy.top/t/topic/iuhm 著作权归作者所有。请勿转载和采集!