【发布时间】:2015-06-21 17:32:22
【问题描述】:
我不知道我需要做什么。我搜索了两天,没有找到有用的东西。
fieldValue = row.Cells[0].Text;
DateTime timeNow = DateTime.Now;
string constring = System.Configuration.ConfigurationManager.ConnectionStrings["ITCConnectionString"].ConnectionString;
using (SqlConnection connection = new SqlConnection(constring)) {
timeNow = Convert.ToDateTime(timeNow);
using (SqlCommand cmd = new SqlCommand("UPDATE AktywneZgloszenia SET Data_przyjecia_do_realizacji='" + timeNow + "' WHERE Nr_zgloszenia ='"+fieldValue+"';", connection)) {
using (SqlDataAdapter da = new SqlDataAdapter(cmd)) {
connection.Open();
cmd.ExecuteNonQuery(); // <--executeNon
connection.Close();
GridView1.DataBind();
}
}
}
当我尝试保存/更新变量 time 时出现错误:
导致将 varchar 数据类型转换为 datetime 数据类型 在一个超出范围的值。声明已终止。
两个数据库中的列 type= datetime dane[] type= string 中的变量。(不在此片段中) 我从数据库中清除了所有数据。 我做错了什么?
【问题讨论】:
-
假设这是 SQL Server,这可能是区域设置吗?例如。您要存储 21/06/2015 而不是 06/21/2015?如果你使用字符串 YYYYMMDD 是唯一安全的格式。
-
使用正确数据类型的参数化查询。
-
我做了:DateTime timeNow = DateTime.Now.ToString("yyy-MM-dd HH:mm:ss"); - 无法将类型“字符串”隐式转换为 System.DateTime。我试过这样的事情: DateTime timeNow = DateTime.Now;字符串格式 = "yyyy-MM-dd HH:mm:ss";格式 = timeNow.ToString(格式);但仍然像第一个错误一样。
标签: c# asp.net sql-server datetime varchar