Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我想要一个SQL查询或其他逻辑形式的解决方案,用于C#桌面应用程序计算当月的每日销售额_C#_Sql - Fatal编程技术网

我想要一个SQL查询或其他逻辑形式的解决方案,用于C#桌面应用程序计算当月的每日销售额

我想要一个SQL查询或其他逻辑形式的解决方案,用于C#桌面应用程序计算当月的每日销售额,c#,sql,C#,Sql,我每天都有桌子出售。样本是 Date_Time Sale Cost Profit Margin Friday, June 29, 2018 33945 20000 13945 41.081 Monday, April 16, 2018 63303 43000 20303 32.072 Saturday, April 14, 2018 104534 74000

我每天都有桌子出售。样本是

     Date_Time             Sale      Cost     Profit    Margin

Friday, June 29, 2018      33945     20000    13945     41.081
Monday, April 16, 2018     63303     43000    20303     32.072
Saturday, April 14, 2018   104534    74000    30534     29.209
Sunday, April 15, 2018     9800      70000    28000     28.571
Thursday, June 28, 2018    27156     16000    11156     41.081
Tuesday, May 1, 2018       17034     12000    5034      29.552
Wednesday, May 2, 2018     19753     12000    7752      39.246
我想计算当月的销售额。实际上,我想在datagridview和当月图表中显示销售额、成本利润和利润率

我正在努力

cmd = new SqlCommand("Select * from Daily_Sale ", con);

adapt = new SqlDataAdapter();
adapt.SelectCommand = cmd;
dt = new DataTable();
adapt.Fill(dt);
bsource = new BindingSource();
bsource.DataSource = dt;
dataGridView1.DataSource = bsource;

chart1.Series["Sale"].XValueMember = "Total_Sale";
chart1.Series["Sale"].YValueMembers = "Total_Sale";
chart1.Series["Profit"].XValueMember = "Total_Profit";
chart1.Series["Profit"].YValueMembers = "Total_sale";
chart1.Series["Margin"].XValueMember = "Margin";
chart1.Series["Margin"].YValueMembers = "Total_sale";
chart1.DataSource = hJSportsDataSet8.Daily_Sale;
chart1.DataBind();


cmd = con.CreateCommand();
cmd.CommandText = "Select * from Daily_Sale ";
SqlDataReader reader;
reader = cmd.ExecuteReader();
while (reader.Read())
{

    chart1.Series["Sale"].XValueMember = "Date_Time";
    chart1.Series["Sale"].YValueMembers = "Total_Sale";
    chart1.Series["Profit"].XValueMember = "Date_Time";
    chart1.Series["Profit"].YValueMembers = "Total_Profit";
    chart1.Series["Margin"].XValueMember = "Date_Time";
    chart1.Series["Margin"].YValueMembers = "Margin";
}
但我相信这完全是表数据。 根据上面的示例数据,例如当前月份是4月,当前日期是4月17日,我想显示当前表的销售情况


我是新来的,请帮助我,我已经浪费了我的3天,但没有得到明显的解决方案

在多次尝试不同的查询之后,@AswaniMadhavan的一个简单建议奏效了。很简单

cmd = new SqlCommand("Select * from Daily_Sale Where Month(Date_Time)=Month( 
getDate() ) ", con);
实际上,我将SQL数据库中的日期时间格式从varchar更改为DateTime,作为初学者,我意识到最好将日期和时间保存为DateTime格式,而不是字符或字符串,以避免进一步的问题。 所以在插入日常销售之前,我只写了以下代码

dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "yyyy/MM/dd";

cmd_dily_sale = new SqlCommand("insert into Daily_Sale(Date_Time,Total_Sale,Total_Cost,Total_Profit,Margin)values(@Date_Time,@Total_Sale,@Total_Cost,@Total_Profit,@Margin)", con);
                cmd_dily_sale.Parameters.AddWithValue("@Date_Time", dateTimePicker1.Text);
                cmd_dily_sale.Parameters.AddWithValue("@Total_Sale", sale);
                cmd_dily_sale.Parameters.AddWithValue("@Total_Cost", total_cost);
                cmd_dily_sale.Parameters.AddWithValue("@Total_Profit", profit);
                cmd_dily_sale.Parameters.AddWithValue("@Margin", margin);
                cmd_dily_sale.ExecuteNonQuery();

在SQL中添加where条件和过滤器。将列的月份和年份与getdate的月份和年份匹配。因此,在SQL中添加where子句。。我们不会为你写,我有一个月和年的日期列,这是date\u time,我已经在示例中提到了我的数据库表。因为我从datetimepicker中获取日期,并将日期保存在上述格式中@阿斯瓦尼Madhavan@hamidjalil该列的类型?我尝试了varchar和date类型来保存从datetimepicker获取的日期。它以“2018年4月17日星期一”的格式保存。当我从数据库中检索时,我知道这是字符串,这给sql查询中的比较带来了困难和问题
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "yyyy/MM/dd";

cmd_dily_sale = new SqlCommand("insert into Daily_Sale(Date_Time,Total_Sale,Total_Cost,Total_Profit,Margin)values(@Date_Time,@Total_Sale,@Total_Cost,@Total_Profit,@Margin)", con);
                cmd_dily_sale.Parameters.AddWithValue("@Date_Time", dateTimePicker1.Text);
                cmd_dily_sale.Parameters.AddWithValue("@Total_Sale", sale);
                cmd_dily_sale.Parameters.AddWithValue("@Total_Cost", total_cost);
                cmd_dily_sale.Parameters.AddWithValue("@Total_Profit", profit);
                cmd_dily_sale.Parameters.AddWithValue("@Margin", margin);
                cmd_dily_sale.ExecuteNonQuery();