【发布时间】:2016-06-10 02:28:39
【问题描述】:
我有一个 dateTimePicker 和一个我希望 DGV 填充一个查询,该查询从 DB (SQL CE) 中选择与 dateTimePicker 上所选月份对应的所有条目。
这就是逻辑
SELECT FROM Employees WHERE (@MonthEnd or @MonthEnd2) = dateTimePicker1.SelectedMonth
@MonthEnd 或 @MonthEnd2 的值是日期时间。
如何首先在 dateTimePicker 上选择当前月份?
在我应该将日期时间从 DB 转换为字符串之后?还是整数?那么我应该如何只选择数据的月份部分来与日历的选定月份进行比较呢?
编辑:感谢@Hogan,我能够提出以下代码:(希望它对像我一样有需要的人有所帮助(我要求使用日期时间选择器,但改用日历)。
string constringF = @"Data Source=|DataDirectory|\cadastramentodb.sdf;Persist Security Info=False";
string QueryF = "select * from Funcionarios where datepart(month, datafimcontrato) = @mes ";
SqlCeConnection conDataBaseF = new SqlCeConnection(constringF);
SqlCeCommand cmdDataBaseF = new SqlCeCommand(QueryF, conDataBaseF);
cmdDataBaseF.Parameters.Add("@mes", SqlDbType.Int).Value = Convert.ToInt32(monthCalendar1.SelectionStart.Month);
【问题讨论】:
-
您确实意识到此 SQL 将选择该月份的任何条目,完全忽略年份,对吗?因此,如果您在日期选择器中选择 8 月,您将获得 2015 年 8 月、2014 年、2013 年 8 月的记录...
-
是的,我这样做了,但这满足了我的需求,如果我需要当前日历年甚至几天,我可以及时使用类似的方法。感谢您的提示。
标签: c# sql datagridview