用c#编写周报,使用ms访问

本文关键字:使用 ms 访问 周报 | 更新日期: 2023-09-27 18:18:07

            string query = "select * from OrderDataListTable RIGHT JOIN OrderDataTable ON OrderDataTable.OrderNo = OrderDataListTable.OrderNo WHERE MONTH(`DATETIME`) = "+month+"   ";
            command.CommandText = query;
            reader = command.ExecuteReader();
            counter = 0;
            dataGridView2.Rows.Clear();
            while (reader.Read())
            {
                dataGridView2.Rows.Add();
                dataGridView2.Rows[counter].Cells["productName"].Value = reader["ProductName"].ToString();
                dataGridView2.Rows[counter].Cells["quantity"].Value = reader["Quantity"].ToString();
                counter++;
            }
            conn5.Close();
       }

这是我的代码为每月格式,有一个语法为每周?谢谢你

用c#编写周报,使用ms访问

这取决于您想如何定义周。当你有周一和周日的日期时,只需使用

..."WHERE DATETIME BETWEEN #"+ dateOfMonday + "# AND #" + dateOfSunday + "#   "

参见http://www.w3schools.com/sql/sql_between.asp…从标题BETWEEN运算符与日期值示例

小心格式化日期Access-SQL-suitable

另一个解决方案是将日期转换为星期数。网上有一些关于这个的文章。我就不作进一步解释了,因为我自己没有用过

对于月份,查找星期的日期:

DateTime date = DateTime.Parse(textBox2.Text);
// Find Monday of the week of textBox2.
DateTime first = date.AddDays(-(date.DayOfWeek - DayOfWeek.Monday + 7) % 7);
// Find Sunday of the week of textBox2.
DateTime last = date.AddDays((DayOfWeek.Sunday - date.DayOfWeek + 7) % 7);
string startDate = first.ToString("yyyy'/'MM'/'dd");
string endDate = last.ToString("yyyy'/'MM'/'dd");

,然后再:

string query = "select * from OrderDataListTable where [DATETIME] between #" + startDate + "# and #" + endDate + "#";