我正在创建一个用户记录“滴答声”的小型服务。我遇到了一些问题,我的用户应该不能每天登录一次以上。这是我用于该检查的 SQL:
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = conn;
cmd.CommandText = "SELECT * FROM TickLog WHERE Username = @username AND DATEPART(year, Inserted) = DATEPART(year, @date) AND DATEPART(month, Inserted) = DATEPART(month, @date) AND DATEPART(day, Inserted) = DATEPART(day, @date)";
cmd.Parameters.AddWithValue("@username", username);
cmd.Parameters.AddWithValue("@date", DateTime.Now);
int affectedRows = cmd.ExecuteNonQuery();
if (affectedRows > 0)
throw new Exception("allready registered");
}
表的结构很简单:
- 标识,整数
- 用户名,字符串
- 已插入,日期