首页 > 解决方案 > 自本月初以来计算数据库行数

问题描述

我希望返回DateTimefor的月份元素bookEntryTime是当前月份的书籍的行数(计数)。

   public int GetMonthlyCount()
    {
        var today = DateTime.Today;
        var month = new DateTime(today.Year, today.Month, 1);
        var first = month.AddMonths(-1);
        return database.ExecuteScalar<int>("SELECT count(*) FROM Book WHERE bookEntryTime > ?;", first);
    }

此查询还计算上个月输入的书籍。查询有什么问题?

标签: c#sqlite

解决方案


由于您只对当前月份感兴趣,而不是过去 30 天(不是 1 个月),请删除此行:

 var first = month.AddMonths(-1);

当然使用的参数是现在month

return database.ExecuteScalar<int>("SELECT count(*) FROM Book WHERE bookEntryTime > ?;", month );

推荐阅读