c# - 如何选择同名的 SQL 数据库值并将其对应的值求和
问题描述
我想添加所有公升的名为骆驼的牛,而不会被其他牛类别打断,......任何人都可以提供帮助......虽然这是一个c# 项目
con.Open();
SqlDataAdapter sda = new SqlDataAdapter(
"insert into NewMilk(ProviderName,Cattle,Liter,[Price/liter],Salary,Date) values('" +
txtNewMilkName.Text + "', '" + txtNewMilkCattle.Text + "', '" +
txtNewMilkLiter.Text + "', '" + txtNewMilkPrice.Text + "', '" +
txtNewMilkSalary.Text + "', '" + label11.Text + "')", con);
sda.SelectCommand.ExecuteNonQuery();
con.Close();
MessageBox.Show("Data is Saved Succesfully...!");
txtNewMilkName.Clear();
txtNewMilkCattle.Clear();
txtNewMilkLiter.Clear();
txtNewMilkPrice.Clear();
txtNewMilkSalary.Clear();
我使用此代码添加到数据库中,但我想检索在其中一个牛名称中找到的所有升值...
例如,如果我想要在牛名下保存的牛的总和,那么我只能在牛下添加行升的值,...
解决方案
您可以按牛分组
SELECT Cattle, SUM(Liter) AS TotalLiter
FROM NewMilk
GROUP BY Cattle
ORDER BY Cattle
请参阅:SQL GROUP BY 语句
或者,如果您只需要一种特定牛类型的总数
SELECT SUM(Liter) AS TotalLiter
FROM NewMilk
WHERE Cattle = 'Cow'
您可以执行返回这样的行的 SQL 命令
string sql = "SELECT Cattle, SUM(Liter) AS TotalLiter ... "; // 1st SQL example.
using (var con = new SqlConnection("connection string"))
using (var cmd = new SqlCommand(sql, con)) {
con.Open();
var reader = cmd.ExecuteReader();
while (reader.Read()) {
string cattle = reader.GetString(0); // 1st column
int total = reader.GetInt32(1); // 2nd column
...
}
}
或者,如果您只有一行一列,即一个结果值
string sql = "SELECT SUM(Liter) AS TotalLiter ... "; // 2nd SQL example.
using (var con = new SqlConnection("connection string"))
using (var cmd = new SqlCommand(sql, con)) {
con.Open();
int total = (int)cmd.ExecuteScalar();
...
}
推荐阅读
- c# - 在 C# 中处理事件时消息框不会显示
- android - Firebase 身份验证不会在签名的 apk 中发送 otp
- python - Python, Youtube-video-downloader-merger 我可以让这个脚本运行得更快吗?
- fancybox-3 - 你如何防止花哨的盒子的关闭按钮自动隐藏?
- .net - 如何显示 NuGet 包依赖项?
- ios - 无法使用 Core Data 和 Swift 在表格视图中正确保存和显示数据
- javascript - 用过滤器代替接头
- sql - 在表 Sql Server 中创建多个编号的行
- android - 在 kotlin 中使用 itext5 将表格添加到现有 PDF
- html - 在 NavBar 中间定位 Logo