当前位置: 首页 > 面试题库 >

使用DateTime.Now插入值时,SqlDateTime溢出

廉宇
2023-03-14
问题内容

最近,我在尝试执行操作时遇到了很奇怪的错误db.SubmitChanges()

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

关键是,我只用于DateTime.Now在对象中设置属性,并且在调用Response.Write(DateTime.Now.ToString());该属性后将其显示17-04-2013 18:03:13为应有的状态。

以前没有发生过,现在该功能总是中断。我完全一无所知-我的SQL Server上的日期似乎还可以。

可能是什么原因造成的?

编辑

我认为这不会有所帮助(IMO出现任何错误都太简单了),但是有我的功能:

public bool ReportLogIn(int UserID, string IP, int Succeed ... ) {
    A_UserLoginHistory Report = new A_UserLoginHistory();

    Report.IP = IP;
    Report.UserID = UserID;
    Report.Status = Succeed;
    Report.Date = DateTime.Now; //the only DateTime field
    ...

    try {
        db.A_UserLoginRegistry.InsertOnSubmit(Report);
        db.SubmitChanges();
        return true;
    } catch (Exception e) {
        ErrorLog.AddError(e.ToString());
        return false;
    }
}

问题答案:

实际的问题是 SQL DateTime= / = C# Datetime

你需要改变两件事

  • 数据库将字段类型从更改DateTimeDateTime2

  • 查询您需要明确

    SqlCommand cmd = new SqlCommand("insertsomeDate", conn);
    

    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.Add(“@newDate”, SqlDbType.DateTime2).Value = yourDate; //<- as example

您可以在这里,这里和这里找到更多信息



 类似资料:
  • 我正在使用Cassandra 3.10,并试图通过每个查询都有一个表来遵循最佳实践,因此我使用批处理插入发音将多个表作为单个事务插入,但我在cassandra日志中出现以下错误。 [zed.payment,zed.trade_party_b_ref,zed.trade_product_type,zed.trade,zed.fx_variance_swap,zed.trade_party_a_ref

  • 问题内容: 我有以下db型号: 我使用以下命令添加新实例: 我的问题:数据库中的所有记录在日期字段中都有相同的值,即第一次付款的日期。服务器重新启动后,一条记录具有新的日期,而另一条记录与第一条记录具有相同的日期。看起来有些数据被缓存了,但我找不到位置。 数据库:mysql 5.1.25 django 1.1.1版 问题答案: 在定义模型时,似乎正在计算,而不是每次添加记录时。 Django有一个

  • 问题内容: 我正在使用此代码,而我感到无奈: 它们全部失败并抛出此错误: 致命错误 :无法在/ opt / …中通过引用传递参数2 问题答案: 我只是在学习PDO,但我认为您需要使用,而不是 接受要引用的变量,并且在调用时不提取值。我在对php文档的评论中发现了这一点: 编辑:PS您可能会想这样做,但是它并不适合所有人(感谢您将Shaver进行举报。)

  • 我们使用liquibase来管理MySQL数据库的更新、回滚等。 我遇到的一个小好奇是在更新或回滚过程中将值设置为null的过程。示例: 起初,我有点担心“null”会直接插入字符串“null”,但事实证明,liquibase似乎很聪明,可以插入一个空值。

  • 我在postgreSQL DB(9.2)中有一个表,其中列类型为json。我正在使用Hibernate,并实现了Tim Fulmer建议的将postgreSQL JSON列映射到Hibernate值类型的代码示例,但我不断得到以下异常: 我不想强制转换表达式,因为不建议使用它。当我使用预先生成的表并且列类型为JSON时,我得到了这个错误。当我更改Hibernate配置以构建表时,我没有得到异常,值

  • 问题内容: 我试图以编程方式在表中输入值。 我不能使用直接选择@variables。我必须使用关键字“值”。 在insert into中使用Values时,如何创建where子句。 我正在努力避免重复 问题答案: