使用ExecuteScalar方法进行求和查询
本文关键字:求和 查询 ExecuteScalar 方法 使用 | 更新日期: 2023-09-27 17:57:52
我正在使用C#winforms,尝试执行求和查询,并使用ExecuteScalar
方法检查是否有效。我在MessageBox
中显示"answers"。
我的问题是:查询不起作用,因为消息框中的总和仍然是0。
我的方法:
string Name = salesdetails.CmbEmployeeName.Text;
int sum = 0;
string connStr = @"Data Source=............................";
string Query = ("SELECT SUM(PriceOrder) FROM tblOrdersFromCustomers WHERE CustomerID=N'" + Name + "'");
using (SqlConnection conDataBase = new SqlConnection(connStr))
{
SqlCommand cmdDataBase = new SqlCommand(Query, conDataBase);
try
{
conDataBase.Open();
sum = (int)cmdDataBase.ExecuteScalar();
}
catch
{
}
}
MessageBox.Show(string.Format("Sum: {0}", sum));
sum = Convert.ToInt32(cmdDataBase.ExecuteScalar());
首先我认为您的查询有问题
即,您的表名似乎不正确。
不应该是tblOrders
而不是tblOrdersFromCustomers
吗
使用SqlCommand.ExecuteReader
using(reader = cmdDataBase.ExecuteReader())
{
while (reader.Read())
{
sum = reader[0]!=DBNull.Value?Convert.ToInt32(reader[0]):0;
}
}