從字元字串轉換成日期及/或時間時,轉換失敗

從字元字串轉換成日期及/或時間時,轉換失敗

在寫新增資料到資料庫時,發生

從字元字串轉換成日期及/或時間時,轉換失敗

的錯誤資訊。

這是因為所要轉入的時間格式和MSSQL資料庫裏面的格式不符合而導致。

MSSQL 裡面,我紀錄日期欄位的  資料類型  設為:datetime

該欄位的輸出格式:2012-05-06 12:00:00.000

 

若要將系統的時間記錄到該欄位只要明確的指定它的時間格式就可以了,

Date.Now.ToString("yyyy/MM/dd HH:mm:ss")

ex:

INSERT INTO [test] ([build_date]) VALUES ('Date.Now.ToString("yyyy/MM/dd HH:mm:ss")')

 

-----------------------------------------------------------------------------------------------------------------------------------

 

但是,因為考慮上面的寫法有SQL Injection攻擊的疑慮,因此改寫如下:

SqlDataSource1.InsertParameters.Add("test_date", Date.Now.ToString("yyyy/MM/dd HH:mm:ss"))


SqlDataSource1.InsertCommand = "Insert into [test] (test_date ) values(@test_date )"

 

註:使用 @參數 的時候,前後將不需要再加上單引號( ' )。

 

 

 

 

參考或是複製語法時,別忘了留個言喔 ^ ^ ~