阅读量:2
C# 中使用 MySQL 数据库实现本日、本周、本月、本年数据总数统计
获取当前日期和时间:使用 C# 中的
DateTime
类获取当前日期时间信息。构造 MySQL 查询语句:根据不同的时间范围构建 SQL 查询语句,并执行以获取数据总数。
使用 MySQL 数据库连接,并且使用了 MySql.Data
包进行操作:
using System; using MySql.Data.MySqlClient; public class Program { public static void Main() { string connStr = "server=localhost;user=root;database=yourdatabase;port=3306;password=yourpassword;"; MySqlConnection conn = new MySqlConnection(connStr); conn.Open(); DateTime today = DateTime.Today; DateTime startOfWeek = today.AddDays(-(int)today.DayOfWeek); DateTime startOfMonth = new DateTime(today.Year, today.Month, 1); DateTime startOfYear = new DateTime(today.Year, 1, 1); int totalCountToday = GetRecordCount(conn, today, today); int totalCountThisWeek = GetRecordCount(conn, startOfWeek, today); int totalCountThisMonth = GetRecordCount(conn, startOfMonth, today); int totalCountThisYear = GetRecordCount(conn, startOfYear, today); Console.WriteLine($"今天的数据总数:{totalCountToday}"); Console.WriteLine($"本周的数据总数:{totalCountThisWeek}"); Console.WriteLine($"本月的数据总数:{totalCountThisMonth}"); Console.WriteLine($"本年的数据总数:{totalCountThisYear}"); conn.Close(); } private static int GetRecordCount(MySqlConnection conn, DateTime startDate, DateTime endDate) { string query = $"SELECT COUNT(*) FROM YourTableName WHERE YourDateColumn >= @startDate AND YourDateColumn <= @endDate"; MySqlCommand cmd = new MySqlCommand(query, conn); cmd.Parameters.AddWithValue("@startDate", startDate); cmd.Parameters.AddWithValue("@endDate", endDate); int count = Convert.ToInt32(cmd.ExecuteScalar()); return count; } }
- 替换
connStr
变量中的连接字符串为你的 MySQL 数据库连接信息。 - 替换
YourTableName
和YourDateColumn
为你的实际数据库表名和日期列名。 GetRecordCount
方法用于执行带参数的 SQL 查询,获取指定时间范围内的记录数。