gpt4 book ai didi

c# - 单击即可创建多个 MySQL 插入(库存系统)

转载 作者:行者123 更新时间:2023-11-29 16:43:54 26 4
gpt4 key购买 nike

我正在构建一个库存系统。基本上,用户输入收到的数量,系统将为每个单位生成一个单独的库存编号。到目前为止我已经创建了 2 个表。一个用于主要库存信息,第二个用于与主要库存信息相关的单个库存项目。我在弄清楚如何根据用户在文本框中输入的数量创建单个项目时遇到问题。我可以插入主要库存信息的数据,但如何为单个商品创建条目?这是输入主要股票信息的代码。我肯定可以在这里得到一些帮助。谢谢。

private void button2_Click(object sender, EventArgs e)
{
// generate stock number button pressed
ConnectionStringSettings conSettings = ConfigurationManager.ConnectionStrings["shopmanagerConnectionString1"];
MySqlConnection con = new MySqlConnection(conSettings.ToString());
MySqlCommand cmd1 = new MySqlCommand(@"insert into shopmanager.inventory (projects_project_number, inv_name, inv_description, inv_quantity, inv_date_received) values(@projects_project_number, @inv_name, @inv_description, @inv_quantity, @inv_date_received)", con);

try
{
con.Open();
cmd1.Parameters.AddWithValue("@projects_project_number", project.Text);
cmd1.Parameters.AddWithValue("@inv_name", item_name.Text);
cmd1.Parameters.AddWithValue("@inv_description", item_description.Text);
cmd1.Parameters.AddWithValue("@inv_quantity", quantity_received.Text);
cmd1.Parameters.AddWithValue("@inv_date_received", DateTime.Now);
cmd1.ExecuteNonQuery();
cmd1.Parameters.Clear();

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
con.Close();
}

最佳答案

来自https://dev.mysql.com/doc/connector-net/en/connector-net-programming-prepared-preparing.html :

只需为每条记录再次设置参数即可。

MySql.Data.MySqlClient.MySqlConnection conn;
MySql.Data.MySqlClient.MySqlCommand cmd;

conn = new MySql.Data.MySqlClient.MySqlConnection();
cmd = new MySql.Data.MySqlClient.MySqlCommand();

conn.ConnectionString = strConnection;

try
{
conn.Open();
cmd.Connection = conn;

cmd.CommandText = "INSERT INTO myTable VALUES(NULL, @number, @text)";
cmd.Prepare();

cmd.Parameters.AddWithValue("@number", 1);
cmd.Parameters.AddWithValue("@text", "One");

for (int i=1; i <= 1000; i++)
{
cmd.Parameters["@number"].Value = i;
cmd.Parameters["@text"].Value = "A string value";

cmd.ExecuteNonQuery();
}
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
MessageBox.Show("Error " + ex.Number + " has occurred: " + ex.Message,
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

从技术上来说,这就是你要做的事情。但是,我质疑为什么您要让某人输入数量,然后继续输入一条记录,其中您的数量本质上始终为 1。通常,您只会使用数量来指示手头有多少元素,除非元素是几乎是独特的/定制的。也就是说,您在商品上贴上条形码并扫描它以了解您正在使用的具体商品。

否则,您只需打一个条形码,表明它是零件#XYZ,而您得到哪一件并不重要,因为它是零件#XYZ。

拥有多个库存行项目的其他情况是机车车辆或从不同的供应商/制造商获取相同的零件(这与跟踪成本和潜在的质量控制有更多关系)

关于c# - 单击即可创建多个 MySQL 插入(库存系统),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53192203/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com