我正在使用C#winforms,尝试进行求和查询,并使用ExecuteScalar
方法检查是否有效。我正在显示"总和"在MessageBox
。
我的问题:查询无效,因为消息框中的总和仍为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));
答案 0 :(得分:0)
首先,我认为您的查询存在问题
即。似乎你的表名不正确。
不应该是tblOrders
而不是tblOrdersFromCustomers
using(reader = cmdDataBase.ExecuteReader())
{
while (reader.Read())
{
sum = reader[0]!=DBNull.Value?Convert.ToInt32(reader[0]):0;
}
}
答案 1 :(得分:0)
sum = Convert.ToInt32(cmdDataBase.ExecuteScalar());