如何解决根据C#中的MySQL的Date值过滤DataGridView
新秀的问候。
我正在为地质工作人员编写一个时移日历(如下所示)。
我进行了很多搜索,但找不到合适的解决方案。我想基于当前月份(而不是间隔时间)限制DataGridView中显示的记录。例如,团队成员应该能够查看属于8月的记录(如果月份为8月)。下个月应该新鲜。
我有一个“获取”按钮,它填充了DataGridView和从MySQL获取的Date列。该程序应在DataGridView(或MySQL表)的“日期”列(在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();
}
}
非常感谢您。
解决方法
感谢Chetan Ranpariya拓宽了我的视野。 解决方案在这里;
DateTime dtime = DateTime.Now;
int month = dtime.Month;
int year = dtime.Year;
//SQL STMT
string sql = $"SELECT * FROM {tbl_staffCode} WHERE MONTH(DateStart) = {month} AND YEAR(DateStart) = {year} ";
cmd = new MySqlCommand(sql,con);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。