【问题标题】:Using SQL Server 2008 TIME column in class declaration在类声明中使用 SQL Server 2008 TIME 列
【发布时间】:2012-03-27 14:57:08
【问题描述】:

我希望这是有道理的,我正在尝试将 SQL Server 2008 time(7) 数据类型存储在一个对象中。

我正在使用下面的方法将数据读入对象,但它在线上崩溃了

timeStart = reader.GetDateTime(reader.GetOrdinal("timeStart"))

除了将我的数据库字段更改为日期时间之外,任何人都可以就解决方案提出建议

我的班级声明是:

public DateTime timeStart { get; set; }
public DateTime timeEnd { get; set; }

SqlDataReader reader = command.ExecuteReader();

while (reader.Read())
{
    Schedules sched = new Schedules()
    {
        Name = reader.GetString(reader.GetOrdinal("Name")),
        timeStart = reader.GetDateTime(reader.GetOrdinal("timeStart")),
        timeEnd = reader.GetDateTime(reader.GetOrdinal("timeEnd")),
        IntervalMinutes = reader.GetInt32(reader.GetOrdinal("IntervalMinutes"))
    };
    schedules.Add(sched);
}

【问题讨论】:

  • “它正在崩溃”并不能很好地描述正在发生的事情。是否抛出异常?如果有,它是什么样子的?
  • 标记 mellamokb 如果他的答案对你有用,请标记答案。

标签: c# sql sql-server-2008


【解决方案1】:

根据the documentation,您应该使用TimeSpan 类型和SqlDataReader.GetTimeSpan

【讨论】:

    猜你喜欢
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 2011-10-08
    • 1970-01-01
    相关资源
    最近更新 更多