存储过程不会返回所有数据

时间:2015-08-05 09:20:14

标签: c# datetime odbc sybase

我正在使用一个简单的(没有连接等)存储过程,它返回一个带有日期时间的列。它返回大约1800行

调用存储过程时,它工作正常。 6.第6次没有得到所有数据,我得到以下异常。

  

ArgumentOutOfRangeException:描述年,月和日参数   无法表示的DateTime。

数据库正在使用SyBase,而我正在使用OdbcConnection来调用存储过程。

con.Open();
using (var cmd = con.CreateCommand())
{
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = sp;
    cmd.CommandTimeout = 15;

    result = GetDataFromQuery(cmd.ExecuteReader());
}

private List<Dictionary<String, Object>> GetDataFromQuery(IDataReader reader)
{
    var cols = new String[reader.FieldCount];

    for (var ordinal = 0; ordinal < reader.FieldCount; ordinal++)
            cols[ordinal] = reader.GetName(ordinal);

    var retList = new List<Dictionary<String, Object>>();

    while (reader.Read())
    {
        var date = reader["PublicationDate"].ToString(); //Here is exception thrown

        retList.Add(cols.ToDictionary(t => t, t => reader[t]));
    }

    return retList;
}

0 个答案:

没有答案