public DataTable StatisticianReadDays(DateTime startDate, DateTime endDate) { string str_StartDate = startDate.ToString("yyyy-MM-dd"); string str_EndDate = endDate.ToString("yyyy-MM-dd"); int dayrange = (endDate - startDate).Days + 1; DataTable table = new DataTable(); table.Columns.Add(new DataColumn("状态", typeof(string))); table.Columns.Add(new DataColumn("天数", typeof(string))); string sql = string.Format("SELECT count(*) FROM TB_BookReadSign where Date >= '{0}' AND Date<='{1}'", str_StartDate, str_EndDate); try { using (var db = mFactory.OpenDefalutDataBase()) { string value = db.ExecuteSqlToDataSet(sql).Tables[0].Rows[0][0].ToString(); int readdays = string.IsNullOrEmpty(value) ? 0 : int.Parse(value); DataRow row = table.NewRow(); row[0] = "读书天数"; row[1] = readdays; table.Rows.Add(row); DataRow row2 = table.NewRow(); row2[0] = "未读书天数"; row2[1] = dayrange - readdays; table.Rows.Add(row2); } } catch (Exception ex) { mFactory.WriteSystemLog("StatisticianReadDays", ex); } return(table); }
public BudgetStatistician Statistic(IDataBaseFactory factory) { string sql = string.Format("SELECT sum(TB_Budget.Estimate),sum(Actuality),sum((CASE WHEN Level = '{0}' THEN Actuality ELSE 0 END)) FROM TB_Budget", EnumBudgetState.Signed); using (var db = factory.OpenDefalutDataBase()) { DataSet set = db.ExecuteSqlToDataSet(sql); SumEstimate = onConvertToDouble(set.Tables[0].Rows[0][0].ToString()); FinishEstimate = onConvertToDouble(set.Tables[0].Rows[0][1].ToString()); FinishAcutual = onConvertToDouble(set.Tables[0].Rows[0][2].ToString()); } return(this); }