本帖最后由 宋兴征 于 2013-4-12 15:53 编辑
需要统计员工的出勤天数,我的sql语句这样写:
SELECT UserId,
COUNT(*) AS days
FROM T_DailyLog
GROUP BY
tdl.UserId
执行结果:
UserId Days
2 2
4 1
5 2
6 3
T_DailyLog表结构:UserId、submitTime、LogInfo,表示用户在某个时间提交了一条日志,因为每天只能提交一条日志,所以可以用来统计员工的出勤天数。
现在想将统计结果UserId、days 取出来,然后显示出来。
我的代码:- //计算出勤
- public DataTable CountWorkDays(string startDate,string endDate)
- {
- string sql = @"SELECT tdl.UserId,
- COUNT(*) AS days
- FROM T_DailyLog tdl
- WHERE CONVERT(VARCHAR(10), tdl.SubmitTime, 20) BETWEEN @startDate AND
- @endDate
- GROUP BY
- tdl.UserId";
- SqlParameter[] parameters = new SqlParameter[]
- {
- new SqlParameter("@startDate",startDate),
- new SqlParameter("@endDate",endDate)
- };
- DataTable dt = SQLHelper.ExecuteDataTable(sql,parameters);
- return dt;
- }
复制代码 执行sql语句后,我返回一个DataTable,但是dt是null。请教大家,怎么处理统计的结果?
|