【发布时间】:2020-08-24 13:21:07
【问题描述】:
来自新人的问候。
我正在为我的地质小组编写一个时移日历(如下所示)。
我搜索了很多,但找不到合适的解决方案。我想根据当前月份(不是间隔)限制 DataGridView 中显示的记录。例如,团队成员应该能够看到属于 8 月的记录(如果月份是 8 月)。下个月,应该是新鲜的。
我有一个填充 DataGridView 的“检索”按钮和一个从 MySQL 获取的日期列。程序应该在 DataGridView(或 MySQL 表)的“Date”列(在 DB 中命名为 dateStart)中进行搜索,只显示属于 2020 年 8 月的记录。我的日期格式是 YYYY-MM-DD。
//RETRIEVE FROM DB
private void retrieve()
{
dtgList.Rows.Clear();
dtpDate.Format = DateTimePickerFormat.Custom;
//SQL STMT
string sql = $"SELECT * FROM {tbl_staffCode} ";
cmd = new MySqlCommand(sql, con);
//OPEN CON,RETRIEVE,FILL DGVIEW
try
{
con.Open();
adapter = new MySqlDataAdapter(cmd);
adapter.Fill(dt);
//LOOP THRU DT
foreach (DataRow row in dt.Rows)
{
populate(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString(), row[4].ToString(), row[5].ToString());
}
con.Close();
//CLEAR DT
dt.Rows.Clear();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
con.Close();
}
}
非常感谢您。
【问题讨论】:
-
SELECT * FROM {tbl_staffCode} WHERE MONTH(DateColumn) = 8 AND YEAR(DateColumn) = 2020
标签: c# mysql date filter datagridview