string con = ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
SqlConnection cn = new SqlConnection(con);
string insert_jobseeker = "INSERT INTO JobSeeker_Registration(Password,HintQuestion,Answer,Date)"
+ " values (@Password,@HintQuestion,@Answer,@Date)";
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = insert_jobseeker;
cmd.Parameters.Add(new SqlParameter("@Password", SqlDbType.VarChar, 50));
cmd.Parameters["@Password"].Value = txtPassword.Text;
cmd.Parameters.Add(new SqlParameter("@HintQuestion", SqlDbType.VarChar, 50));
cmd.Parameters["@HintQuestion"].Value = ddlQuestion.Text;
cmd.Parameters.Add(new SqlParameter("@Answer", SqlDbType.VarChar, 50));
cmd.Parameters["@Answer"].Value = txtAnswer.Text;
**cmd.Parameters.Add(new SqlParameter("@Date", SqlDbType.DateTime));
cmd.Parameters["@Date"].Value = System.DateTime.Now**我有个错误
SqlDateTime溢出。必须在1/1/1753 12:00上午12:00到12/31/9999 11:59:59 PM之间。
这有什么解决办法?
发布于 2013-03-22 09:11:13
尝试将Server端的@Date类型更改为DATETIME2(7)
然后,在您的代码中使用下面一行:
cmd.Parameters.Add(new SqlParameter("@Date", SqlDbType.DateTime2)); 如图所示,您的代码看起来还不错,但是由于本地化问题或区域/时间设置出现问题,转换可能发生了一些变化,因此请看看这是否有效。
发布于 2013-03-22 09:02:55
如果您使用的是SQL Server 2008和更高版本,您可以这样做:
步骤1:将@Date数据类型从DATETIME更改为DATETIME2(7)
步骤2:在代码隐藏中,使用以下命令:
SqlDbType.DateTime2发布于 2013-03-22 09:12:58
"Date“是关键字,不要将其用作列名。如果有必要,将其放在插入语句: Date中的[]中,但最好将其更改为其他内容,例如"RegistrationDate“。
https://stackoverflow.com/questions/15566210
复制相似问题