正确的过程来转换字符串日期(使用jQuery的日期选择器)到C日期时间#
问题描述:
我从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