相关疑难解决方法(0)

DateTime2与SQL Server中的DateTime

哪一个:

是在SQL Server 2008+中存储日期和时间推荐方法吗?

我知道精度(和存储空间可能)的差异,但暂时忽略这些,是否有关于何时使用什么的最佳实践文档,或者我们应该只使用它datetime2

sql t-sql sql-server datetime datetime2

726
推荐指数
11
解决办法
47万
查看次数

错误 - SqlDateTime溢出.必须在1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之间

我有一个为2008年写的应用程序.

我们正在使用linq实体.

我们现在必须将数据库切换到2005.我在linq SELECT查询中收到以下错误:

错误 - SqlDateTime溢出.必须在1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之间.

违规行是:

DateOfBirth = ((s.Date_Of_Birth == null) || (s.Date_Of_Birth <= lowdate)) ?
    DateTime.MinValue : s.Date_Of_Birth.Value,
Run Code Online (Sandbox Code Playgroud)

DateOfBirth是DateTime类型,是我们自己的业务对象(非实体)中的属性.

任何人都知道如何修改此行以使此查询运行?

c# linq-to-entities sql-server-2005 sql-server-2008

10
推荐指数
4
解决办法
3万
查看次数

sqldatetime溢出异常c#.net

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**
Run Code Online (Sandbox Code Playgroud)

我有错误

“ SqlDateTime溢出。必须在1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之间。”

有什么解决方案?

c# sql sqlexception

5
推荐指数
0
解决办法
4264
查看次数