我一直在做代碼審查,我遇到這是設置這樣的日期代碼:保存到我的數據庫時應該從哪裏取日期?
using (var cmd = new SqlCommand("Item_Update", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@ItemId", item.Id));
cmd.Parameters.Add(new SqlParameter("@Active", false));
cmd.Parameters.Add(new SqlParameter("@DeactivatedBy", item.DeactivatedBy));
cmd.Parameters.Add(new SqlParameter("@DeactivatedDt", DateTime.Now));
cmd.ExecuteNonQuery();
}
此代碼將更新項目設定日期,當它被停用的人(請注意在這裏,我們設置時間'DateTime.Now',從代碼執行時從web服務器的時間)
但同時,我們有一個存儲過程更新項目和存儲過程集DeactivateDt
UPDATE item
SET active = 0,
chdt = GETDATE(),
DeactivatedBy = @ExecUserName,
DeactivatedDt = GETDATE()
FROM
item
WHERE
id = @itemId;
有什麼不對任何兩種情況是,但我想知道的是,當涉及到設置日期的首選模式:
- 設定從碼
- 設置從SQL Server中的日期的日期
不確定這是一個非常有趣的問題,但由於我並不是100%確定要對代碼審查做出什麼迴應,所以我決定問你們。
感謝您的幫助。
使用SQL的'current_date'。 – jarlh
使用可以使用由'SQL'提供的日期函數,它是'getdate()'的更多信息看看[這裏](http://www.w3schools.com/sql/func_getdate.asp) – BNN
標記dbms你正在使用。那裏有一些非ANSI SQL。 – jarlh