VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1260|回复: 11

下面异常是什么原因?

[复制链接]

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-2-20 21:00:01 | 显示全部楼层 |阅读模式
导出数据 出现异常 :System.InvalidOperationException: Conversion failed because the DateTime data value overflowed the type specified for the DateTime value part in the consumer's buffer.
   at System.Data.OleDb.ColumnBinding.Value()
   at System.Data.OleDb.OleDbDataReader.GetValues(Object[] values)
   at System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetValues(Object[] values)
   at System.Data.ProviderBase.SchemaMapping.LoadDataRow()
   at System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping)
   at System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
   at System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
   at MsaFluxC_2.Service_C.myTimer_Elapsed(Object sender, ElapsedEventArgs e)
回复

使用道具 举报

0

主题

9

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-4-29 02:00:01 | 显示全部楼层
日期格式不对或超范围
回复

使用道具 举报

0

主题

23

帖子

20.00

积分

新手上路

Rank: 1

积分
20.00
发表于 2020-4-29 10:30:02 | 显示全部楼层
日期格式转换失败!~
回复

使用道具 举报

0

主题

4

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-4-29 11:45:01 | 显示全部楼层
同上,只能看出这些,代码贴上来看看
回复

使用道具 举报

0

主题

31

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-4-29 15:45:02 | 显示全部楼层
极可能:
你在数据库里,日期列的值为空,页你绑定的时候用了Convert.toDateTime()

加个条件判断吧
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-5-4 02:45:01 | 显示全部楼层
查询Fill的时候没有用到Convert.toDateTime(),会不会和客户端的日期、时间区域配置有关?
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-5-5 14:15:01 | 显示全部楼层
中文的提示如下:
MsaFluxC 导出数据 出现异常 :System.InvalidOperationException: 转换失败,因为 DateTime 数据值溢出了为使用者缓冲区中 DateTime 值部分指定的类型。
   在 System.Data.OleDb.ColumnBinding.Value()
   在 System.Data.OleDb.OleDbDataReader.GetValues(Object[] values)
   在 System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetValues(Object[] values)
   在 System.Data.ProviderBase.SchemaMapping.LoadDataRow()
   在 System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping)
   在 System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
   在 System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
   在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
   在 MsaFluxC_2.Service_C.myTimer_Elapsed(Object sender, ElapsedEventArgs e) 位置 E:\zxp\MyProgram\MsaFlux\Src\MsaFlux_2.0\MsaFluxC\Service_C.cs:行号 186
Table_Log:select * from DTYW_CBSBGT where MRUT >= '2016-1-1 0:00:00' and MRUT <  '2017-1-3 9:51:41' and GXBZ <> 'D'
回复

使用道具 举报

0

主题

9

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-5-6 15:45:02 | 显示全部楼层
把 select * from DTYW_CBSBGT where MRUT >= '2016-1-1 0:00:00' and MRUT <  '2017-1-3 9:51:41' and GXBZ <> 'D'
在查询分析器里面执行一下看看.
回复

使用道具 举报

0

主题

32

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-5-6 21:30:01 | 显示全部楼层
.net里面datetime和数据库datetime,smalldatetime取值范围不一样,是用区别的。
查查具体值。
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-5-11 14:30:01 | 显示全部楼层
datetime的具体值是sybase数据库默认的1900-01-01

MsaFluxC 导出数据 出现异常 :System.InvalidOperationException: The provider could not determine the DateTime value. For example, the row was just created, the default for the DateTime column was not available, and the consumer had not yet set a new DateTime value.
   at System.Data.OleDb.ColumnBinding.Value()
   at System.Data.OleDb.OleDbDataReader.GetValues(Object[] values)
   at System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetValues(Object[] values)
   at System.Data.ProviderBase.SchemaMapping.LoadDataRow()
   at System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping)
   at System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
   at System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
   at MsaFluxC_2.Service_C.myTimer_Elapsed(Object sender, ElapsedEventArgs e)
Table_Log:select * from DTYW_CBSBYT where MRUT >= '2016-1-1 0:00:00' and MRUT <  '2017-1-3 10:22:27' and GXBZ <> 'D'
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表