我是ASP.NET的新手,我需要您的專家幫助來解決此問題。我正在使用ASP.NET MVC 5和SQL Server。我嘗試使用SQL這是我的查詢中插入一些數據數據庫DateTime.Now在SQL中拋出異常,說它不是有效的日期時間值
INSERT INTO tem (Telephone, Status, CreateDate)
VALUES ('" + telephone + "','"+ status +"','" + DateTime.Now + "');
它的正常工作在本地主機,但之後我部署到服務器時,它顯示錯誤信息:
varchar數據的轉換鍵入日期時間數據類型,結果爲 超出範圍值。該語句已終止。
我的DateTime.Now
的值與28/02/2016 8:45:45 AM
相似。
如果我通過增加2016年2月28日上午08點45分45秒的硬編碼,然後它的工作。
[SQL注入警報(http://msdn.microsoft.com/en-us/library/ms161953%28v=sql.105%29.aspx) - 您應該**不**連接您的SQL語句 - 使用**參數化查詢**來代替以避免SQL注入 –
欣賞您的評論。它是參數化的,我在測試時改變它。對我的問題有任何建議。 – wajira000
那麼,建議是:**使用參數!**這些不僅會解決您的SQL注入漏洞,正確使用參數也會修復您的「格式化日期爲字符串」問題(因爲您不需要格式化日期作爲一個字符串了 - 你將它作爲**本地** DateTime值傳遞) –