如何在C# WinForm中按产品类型将总计值展示到另一表格?


需求说明
我有两个不同的数据表,需求是将第一张表中各产品类型的总计值(例如将所有类型为“JUMBO”的产品求和),对应展示到第二张表的同类型行中。
我使用的开发环境是Visual Studio 2019下的C# Windows应用程序,数据库为SQL Server。
数据库操作类代码
class clsDtb { const string DB_HOST = "localhost"; const string DB_USER = "root"; const string DB_PWD = ""; const string DB_NAME = "rms_jl&e"; const string CONN = @"SERVER=" + DB_HOST + ";" + "UID=" + DB_USER + ";" + "PWD=" + DB_PWD + ";" + "DATABASE =" + DB_NAME + ";"; //Retrieve Data public static DataTable QueryData(string _sql) { using (MySqlConnection _cn = new MySqlConnection(CONN)) { try { _cn.Open(); MySqlCommand _cmd = new MySqlCommand(); _cmd.Connection = _cn; _cmd.CommandType = CommandType.Text; _cmd.CommandText = _sql; using (MySqlDataReader _dr = _cmd.ExecuteReader()) { DataTable dt = new DataTable(); dt.Load(_dr); return dt; } } catch (Exception err) { MessageBox.Show("Error Connection " + err.Message, "Error Connection", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return null; } } }
// 这是我用于从SQL获取数据表数据的类
DataGrid数据展示代码
string SQL = @"SELECT p.p_Date,prolist.prod_type ,p.p_Weight , p.p_Canister, u.FirstName FROM productinventory p INNER JOIN productslist prolist ON p.prod_Code = prolist.prod_Code INNER JOIN users u on p.userid = u.userid ORDER BY p.p_Date DESC"; private void frmProducts_Load(object sender, EventArgs e) { string userSQl = "SELECT * FROM users WHERE userid = '" + lblproid.Text.ToString() +"'"; try { DataTable dtProducts = clsDtb.QueryData(SQL); DataTable user = clsDtb.QueryData(userSQl); if (dtProducts.Rows.Count > 0) { dgProducts.DataSource = dtProducts; } if (user.Rows[0]["Position"].ToString() != "Admin") { dgProducts.Columns["Delete"].Visible = false; dgProducts.Columns["Edit"].Visible = false; dgProducts.Columns["remittedby"].Visible = false; dgProducts.Columns["date"].Width = 200; dgProducts.Columns["type"].Width = 250; dgProducts.Columns["weight"].Width = 200; dgProducts.Columns["canister"].Width = 200; } else { dgProducts.Columns["Delete"].Visible = true; dgProducts.Columns["Edit"].Visible = true; dgProducts.Columns["remittedby"].Visible = true; } } catch (Exception err) { MessageBox.Show("Err" + err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
我是新手,希望大家能理解我的需求,谢谢!
内容的提问来源于stack exchange,提问作者INCOGNITO
相关产品推荐
相关产品推荐

