C# 我需要计算并显示总销售额的总和(以C为单位)#
我想按员工Id计算总销售额的总和,还想用C#计算当月的总销售额,但它一直说我的输入字符串是错误的 以下是按员工ID列出的总销售额代码C# 我需要计算并显示总销售额的总和(以C为单位)#,c#,sql,C#,Sql,我想按员工Id计算总销售额的总和,还想用C#计算当月的总销售额,但它一直说我的输入字符串是错误的 以下是按员工ID列出的总销售额代码 command.CommandText = "SELECT SUM (PriceSold) FROM SALELINE where SALELINE.SoldBy = '" + comboBox10.SelectedItem.ToString() + "' "; string cmd = command.CommandText;
command.CommandText = "SELECT SUM (PriceSold) FROM SALELINE where SALELINE.SoldBy = '" + comboBox10.SelectedItem.ToString() + "' ";
string cmd = command.CommandText;
double result = Convert.ToDouble(cmd);
textBoxSalesStaffOutput.Text = Convert.ToString(result);
这是按月销售的代码
command.CommandText = " SELECT SUM (SaleTotalValue) FROM SALES where SALES.SaleDate BETWEEN '" + textBoxDate1.Text + "' AND '" + textBoxDate2.Text + "'";
string cmd = command.CommandText;
textBoxSalesMonthOutput.Text = Convert.ToString(cmd);
任何操作的想法。使用
命令。ExecuteScalar
执行命令并检索单个结果。您没有执行命令。
您可以通过ExecuteScalar
执行它们,因为它们只返回一行和一列。以下是第一个查询的示例:
double result = Convert.ToDouble(cmd.ExecuteScalar());
如@ BabakNaffas评论中所提到的,考虑使用参数:
command.CommandText = "SELECT SUM (PriceSold) FROM SALELINE where SALELINE.SoldBy = @vendor ";
command.Parameters.AddWithValue("@vendor", comboBox10.SelectedItem.ToString());
您没有执行命令对象。你需要使用
double result = Convert.ToDouble(cmd.ExecuteScalar());
如果直接运行sql,输出是什么?请使用参数而不是sql注入。这将使您的查询更加安全,并为您处理转换问题。您没有执行您的命令!!!请参阅或同时查看以下任何答案对您有帮助吗?