ODP 使用 ArrayBind 时可能会遇到的巨坑 'System.IConvertible' 的解决方法
Unable to cast object of type 'System.Nullable`1[System.Int16][]' to type 'System.IConvertible'
一段代码99%不会出错,0.1%会报上边的错,debug费了老鼻子时间,发现此坑很深。异常是 cmd.ExecuteNonQuery() 抛的,实际是 para.Value = list.Select(d => d.ID).ToArray() 引起的,但是此句实在是没毛病啊!。。。。。。。。哪?。。。。。。。。而最终原因是数据源数量为0,list.Count=0。list.Count=0的情况下,用 ArrayBind 实际本无意义了,所以解决方案是加上行判断if(list.Count>0)。
而99%不报错是99%的情况下数据不为空。
var q = from d in db.tbl select d;
var list = q.ToList();
if(list.Count>0) //如果数据集为空还执行,会报 ...'System.IConvertible' 的异常
{
var cmd =...
cmd.ArrayBindCount = list.Count();
cmd.BindByName = true;
var para = new Oracle.ManagedDataAccess.Client.OracleParameter();
para.ParameterName = "ID";
para.OracleDbTypeEx = Oracle.ManagedDataAccess.Client.OracleDbType.NVarchar2;
para.Direction = System.Data.ParameterDirection.Input;
para.Value = list.Select(d => d.ID).ToArray(); //0.1%这里报异常
cmd.Parameters.Add(para);
cmd.ExecuteNonQuery();
}
转载于:https://www.cnblogs.com/flyGy/p/9482850.html
ODP 使用 ArrayBind 时可能会遇到的巨坑 'System.IConvertible' 的解决方法相关推荐
- php mssql_result 255 string,PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
本文实例讲述了PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法.分享给大家供大家参考.具体分析如下: PHP 连接 MSSQL 的新手经常遇到这个问题:数据库里面的 nvarch ...
- 在Openstack上部署compute节点上时,开启服务openstack-nova-compute.service无法启动的解决方法
在Openstack上部署compute节点上时,开启服务openstack-nova-compute.service无法启动的解决方法 参考文章: (1)在Openstack上部署compute节点 ...
- Idea运行web项目时,提示java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决方法
Idea运行web项目时,提示java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决方法 参考文章: (1)Idea运行web项目时,提示j ...
- Android 软键盘弹出时把布局顶上去,控件乱套解决方法
Android 软键盘弹出时把布局顶上去,控件乱套解决方法 参考文章: (1)Android 软键盘弹出时把布局顶上去,控件乱套解决方法 (2)https://www.cnblogs.com/zhuj ...
- 关于Typora编辑器编写markdown文档时插入出现前字吞后字的解决方法
关于Typora编辑器编写markdown文档时插入出现前字吞后字的解决方法 原因是按到了键盘上的Insert键,使得编辑模式变为了改写,所以会把文本替换掉,这个按键没有状态标示.
- win7系统mysql连接不上数据库吗_Win7系统使用数据库时mysql频繁掉线无法连接的两种解决方法...
近日有windows7 64位旗舰版系统用户在使用mysql数据库的时候,发现mysql总是频繁掉线,导致无法连接,遇到这样的问题该如何解决呢?接下来为大家带来Win7系统使用数据库时mysql频繁掉 ...
- 上传文件时$_FILES为空,可能的原因及解决方法
上传文件时$_FILES为空,可能的原因及解决方法 参考文章: (1)上传文件时$_FILES为空,可能的原因及解决方法 (2)https://www.cnblogs.com/i6010/articl ...
- ckeditor:复制内容到ckeditor时,只保留文本,忽略其样式解决方法
ckeditor:复制内容到ckeditor时,只保留文本,忽略其样式解决方法 参考文章: (1)ckeditor:复制内容到ckeditor时,只保留文本,忽略其样式解决方法 (2)https:// ...
- 执行cmd命令时:因为在此系统上禁止运行脚本的解决方法
执行cmd命令时:因为在此系统上禁止运行脚本的解决方法 参考文章: (1)执行cmd命令时:因为在此系统上禁止运行脚本的解决方法 (2)https://www.cnblogs.com/cat-eol/ ...
最新文章
- JNI调用native方法出现 java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod()异常的解决办法
- JS三种简单排序算法
- 9.6-OOP语言 对接口和抽象类的理解
- R语言-决策树-party包
- 2021暑假每日一题 【week4 完结】
- linux怎样自制库_linux 下动态链接库的制作与使用
- spring配置详解-模块化配置
- OpenCV直方图均衡化
- python海龟图画龙珠_火影,海贼王,七龙珠,还在为漫画书发愁!我用Python一键生成电子漫画书...
- 【李宏毅机器学习】04:梯度下降Gradient Descent
- Unity飞机大战源码下载
- 论文导读 | 图上的可达性问题
- 生产力工具评测:云笔记、离线笔记、云 Office、Markdown 编辑器
- 中小企业安全路由器防火墙
- 【小技巧】2345——劫持浏览器主页(Chrome、Edge)
- 大数据告诉你,30年来有多少中国人移民美国
- Grab第一季营收2.28亿美元:亏损4.35亿美元 收窄35%
- VIJOS 1114 FBI树
- 西南财经大学跨考计算机,我的跨考会计经历-给2011年朋友的一点建议
- 使用Python做中文分词和绘制词云
热门文章
- REVERSE-PRACTICE-BUUCTF-32
- 【ZOJ - 3780】Paint the Grid Again(拓扑排序,图论,证明性质)
- html loader的作用,webpack认识loader的作用
- linux强行卸载qt,Linux下卸载QT SDK
- Arraylist添加5个学生对象,按成绩降序, 删除前三之后的学生
- leetcode235. 二叉搜索树的最近公共祖先
- leetcode1 两数之和
- C++:23 再议const的用法(下)
- C++:16---强制类型转换和类型转换
- 详细描述三个适于瀑布模型的项目_IT项目管理笔记——方法选择和软件评估