簡體   English   中英

如何從C#將歐洲格式的日期和時間插入SQL Server?

[英]How to insert date and time in European format into SQL Server from C#?

這是我的查詢:

string sql = @"INSERT INTO MY_TABLE(DATE) 
                            VALUES (convert(datetime, '{0}')";

sql = string.Format(sql, myDate);

myDate是C# DateTime對象,在string.format之前具有此值:

在此處輸入圖片說明

MY_TABLE具有一個DATE列作為DateTime類型。

我收到此錯誤:

從varchar數據類型到datetime數據類型的轉換導致值超出范圍。

我需要將myDate值以以下格式存儲: 31/12/2013 23:59:00 31TABLE 2013年12月31日。

更好地使用sql參數

string sql = @"INSERT INTO MY_TABLE(DATE) 
                            VALUES (@DATE)";

使用SqlParameterCollection.AddWithValue方法將參數添加到SqlCommand中

command.Parameters.AddWithValue("@DATE", myDate);

或,使用SqlParameterCollection.Add方法

   command.Parameters.Add("@DATE",SqlDbType.DateTime).Value = myDate
DateTime.Now.ToString("dd/MM/yyyy H:mm:ss")

有關參數的列表,請參見MSDN (向下滾動以查看表格。)

(建議使用Parameters.AddWithValue以避免SQL注入等。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM