OracleParameter设置空值时,导致ORA-01008错误的解决
来源:互联网 发布:ubuntu 16.04搭建php 编辑:程序博客网 时间:2024/06/06 18:34
如下代码:
- string l_id = string.Empty;
- string l_sql = "select * from tb1 where id = :vid";
- OracleParameter l_para = new OracleParameter("vid", OracleType.VarChar, l_id);
只要改成下面这样就可以了:
- string l_id = string.Empty;
- string l_sql = "select * from tb1 where id = :vid";
- OracleParameter l_para;
- if(string.IsNullOrEmpty(l_id))
- l_para = new OracleParameter("vid", OracleType.VarChar, DBNull.Value);
- else
- l_para = new OracleParameter("vid", OracleType.VarChar, l_id);
就是说,代码中的null或""(即string.Empty)都不能直接赋值给OracleParameter,否则Oracle会认为没给这个参数赋值
所以要特别针对这种情况做个判断,如果为空时,则传入DBNull.Value。
BTW:
'' is null 这句代码在Oracle中是返回true的,也就是说,在Oracle中,''(2个单引号) 就是null
- OracleParameter设置空值时,导致ORA-01008错误的解决
- 一次由于设置错误,导致无法进入gnome的解决。
- UNION ALL导致的ORA-07445错误
- 一个空格导致的ORA-12516错误
- ORA-16179 粗心导致的小错误
- 关于回滚段导致的ORA-01555错误
- 设置10503事件可能导致lob对象的更新出现错误(ora-24816)
- 因未设置系统环境变量ORACLE_SID导致ORA-12162错误
- ORA-04080 错误的解决
- ORA-12537错误的解决
- ORA-06552错误的解决
- ORA-12638错误的解决
- ORA-12514: 错误的解决
- ORA-30036 的错误解决
- 解决内存设置过大导致实例无法启动ORA-27100
- OracleParameter 的一个bug
- 处理ora-00312的错误(磁盘空间导致00312错误)
- 处理ora-00312的错误(磁盘空间导致00312错误)
- 阿森德面试题
- 判断数字键、字母键、字符键的函数(ZZ)
- 基于ARM9和Linux的 机器人控制系统设计
- 阿森德面试题 部分我做了答案
- 正则表达式30分钟入门教程
- OracleParameter设置空值时,导致ORA-01008错误的解决
- [技巧]SharedPreferences 的用法.
- DIV垂直居中,可调整任意大小的DIV
- 时间函数
- VS2010
- flash player 10的文件上传问题
- Array.splice()--删除数组中重复的数据
- NO.2 PT简介
- Sql Server中判断表或者数据库是否存在