2015-10-16 58 views
0
  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(); 
     } 

这是我每月格式的代码,是否有每周的语法?谢谢使用ms访问的c#中的每周报告

回答

0

这取决于你想如何定义星期。 当你有星期一的日期和星期日的日期,只是用

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

参见http://www.w3schools.com/sql/sql_between.asp ......从标题BETWEEN操作与日期值示例

小心格式化日期访问-SQL合适。

另一种解决方案是将日期转换为周数。网上有一些关于这方面的文章。我不会进一步解释,因为我自己并没有使用它。

0

至于一个月,发现一周的日期:

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 + "#";