我從C#插入日期到SQL Server時遇到問題。將日期從c#插入DateTime到SQL Server的列的正確方法是什麼?正確的過程來轉換字符串日期(使用jQuery的日期選擇器)到C日期時間#
目前我的方法是將字符串日期轉換爲日期時間格式,然後插入數據庫。
Datetime dt = Convert.ToDateTime(txtDate.Text.Trim());
這樣做我遇到了一個錯誤,其中當前系統日期與新轉換日期衝突。將字符串日期插入數據庫的正確方法是什麼?
我從C#插入日期到SQL Server時遇到問題。將日期從c#插入DateTime到SQL Server的列的正確方法是什麼?正確的過程來轉換字符串日期(使用jQuery的日期選擇器)到C日期時間#
目前我的方法是將字符串日期轉換爲日期時間格式,然後插入數據庫。
Datetime dt = Convert.ToDateTime(txtDate.Text.Trim());
這樣做我遇到了一個錯誤,其中當前系統日期與新轉換日期衝突。將字符串日期插入數據庫的正確方法是什麼?
使用SqlParameter並形成parameterized query。這樣你就可以將.Net DateTime對象傳遞給SQL Server。
喜歡的東西:
using (SqlConnection con = new SqlConnection("yourconnectionstring"))
using (SqlCommand cmd = new SqlCommand("INSERT into yourTable([DateCol]) VALUES (@pDate)", con))
{
cmd.Parameters.AddWithValue("@pDate", DateTime.Now);
con.Open();
cmd.ExecuteNonQuery();
}
對於你的問題:
什麼是插入串日起數據庫的正確方法是什麼?
不要。而是將日期字符串轉換爲DateTime
對象,然後使用參數化查詢將其插入到數據庫中。
的評論:
你將如何把字符串轉換日期(使用jQuery日期選擇器),以日期時間 格式?
您可以使用DateTime.ParseExact
作爲日期時間選擇器的格式,並將該字符串轉換爲DateTime對象。
例如,如果您的日期時間選擇器格式是:mm/dd/yyyy
那麼你可以嘗試:
DateTime dt = DateTime.ParseExact(dateString, "mm/dd/yyyy", CultureInfo.InvariantCulture);
創建這樣
SqlCommand cmd = new SqlCommand ("insert into T (...) values (@d",db);
cmd.Parameters.AddWithValue("@d",Convert.ToDateTime(txtDate.Text.Trim());
//...
到底在哪你的「衝突」參數的查詢?在將字符串轉換爲DateTime還是將DateTime插入數據庫?如果是後者,請向我們展示您的INSERT代碼。 – 2013-03-04 12:15:27
我已經更新了這個問題,當jquery日期時間格式(比如mm/dd/yyyy)與系統日期時間格式衝突時(例如dd/mm/yyyy) – Kannan 2013-03-04 12:21:58