首页 新闻 会员 周边 捐助

.net core 2.1环境下ADO.NET 报错DataReader.GetFieldType(46) returned null.

0
悬赏园豆:200 [已解决问题] 解决于 2020-08-04 16:19

上面那个BUG找到问题所在了,应该是我表里有个字段类型为:geography
现在新问题来了,SqlDataAdapter 在Fill DataTable的时候报错,那datatable没这个类型,如何是好

存在丶的主页 存在丶 | 初学一级 | 园豆:22
提问于:2020-08-01 16:41

大佬大佬快过来

存在丶 4年前
< >
分享
最佳答案
0

第46个字段(从0开始计)在尝试获取类型的时候返回了null空值。
你最好能够把调用这个GetDataSet函数的语句也贴出来,我感觉你是拼装SQL的时候本身就出了逻辑问题。

收获园豆:200
泰乐世陶潜 | 菜鸟二级 |园豆:432 | 2020-08-02 23:20

谢谢你给的思路 找到问题所在了,我表里第46个字段类型为geography,应该是这个问题

存在丶 | 园豆:22 (初学一级) | 2020-08-03 09:21

@存在丶: 关于dataTable的问题,我建议你先在不获取FieldType的情况下先fill一次看看,然后尝试读读对应的dataitem里面是什么内容,再去决定转化的方法。如果根本就没东西fill进去那就要放弃dataAdapter模式了。

泰乐世陶潜 | 园豆:432 (菜鸟二级) | 2020-08-03 13:03

@泰乐世陶潜: 谢谢大佬,问题已经解决了,最后不在纠结dataAdapter模式了,geography类型确实恶心了一把。在.NET Framework下实体类中geography类型为DbGeography。但在.net core中缺没有DbGeography这个类型。貌似.net core还未支持。这才是最蛋疼得。

存在丶 | 园豆:22 (初学一级) | 2020-08-04 16:16
其他回答(4)
0

没有的字段你添加了可能,应该是没有46个字段。第46个NULL

永恒一生 | 园豆:18 (初学一级) | 2020-08-01 22:40

不是,这是查询

支持(0) 反对(0) 存在丶 | 园豆:22 (初学一级) | 2020-08-01 22:45
0

一个问题直接你所有园豆都放上去啊?

顾晓北 | 园豆:10898 (专家六级) | 2020-08-02 10:04

急着解决问题

支持(0) 反对(0) 存在丶 | 园豆:22 (初学一级) | 2020-08-03 08:50
0

查下你SQL语句吧。也可以发出来

flyfishing | 园豆:943 (小虾三级) | 2020-08-03 09:16

看上面,sql语句没问题,应该是数据库字段类型问题

支持(0) 反对(0) 存在丶 | 园豆:22 (初学一级) | 2020-08-03 09:22
0

既然没有这个类型,为何不把sql语句重写下,将其转换为常用类型

Mr·林 | 园豆:150 (初学一级) | 2020-08-04 10:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册