我實際上是創建一個方法來獲取我的asp圖表基於某個日期時間範圍的詳細信息。我看這2個鏈接,開始和月底12個月(一年)
我的方法獲取數據,
//Monthly Statistics
public int janLogin(String username)
{
int result = 0;
StringBuilder sqlCmd = new StringBuilder();
sqlCmd.AppendLine("SELECT COUNT(*) FROM AuditActivity WHERE Username = @getUsername AND DateTimeActivity BETWEEN @getFirstDT AND @getLastDT AND ActivityType = @getType");
try
{
SqlConnection myConn = new SqlConnection(DBConnectionStr);
myConn.Open();
SqlCommand cmd = new SqlCommand(sqlCmd.ToString(), myConn);
//DateTime
DateTime currentDT = DateTime.Today;
//Code Below gets only current Start and End of Current month
DateTime FirstDT = currentDT.AddDays(1 - currentDT.Day);
DateTime SecondDT = FirstDT.AddMonths(1).AddSeconds(-1);
cmd.Parameters.AddWithValue("@getUsername", username);
cmd.Parameters.AddWithValue("@getFirstDT", FirstDT);
cmd.Parameters.AddWithValue("@getLastDT", SecondDT);
cmd.Parameters.AddWithValue("@getType", "Login");
result = Convert.ToInt16(cmd.ExecuteScalar());
myConn.Close();
return result;
}
catch (SqlException ex)
{
logManager log = new logManager();
log.addLog("AuditNLoggingDAO.janLogin", sqlCmd.ToString(), ex);
return 0;
}
}
我想要做的其實你可以從方法名稱看janLogin基本上可以讓多少人從登陸2017年1月1日00:00:00至2017年1月31日。本月實際上是8月份。我如何才能真正得到2017年的所有12個月(1月至12月)開始和結束月份(從粗體示例)?
如果我沒有錯,它不得不涉及for循環?哪裏的最終數是12.但我很確定如何做到這一點..可能有一個重複的問題,但我似乎找不到一個適合我的要求..
欣賞任何幫助。謝謝!
開始,特別是不使用AddWithValue與日期[我們可以停止使用addWithValue了嗎?](HTTPS:/ /blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/) – Steve
其次,你能解釋一下數據庫中兩列的數據類型是什麼?如果他們也存儲時間部分你的代碼可能會被竊聽 – Steve
@Steve謝謝你的建議和文章,將來會修改! DateTime是firstDT的數據類型和lastD – domster