历史遗留问题,oracle表中主键Number类型,有13,14,15,16位长度主键,用loopback查询,如果主键16位长度的,查询不到数据。纠结了几天,修改以下代码解决了。粗暴的决绝方法

/**

* Execute the SQL statement.

* 查询数据

* @param {String} sql The SQL statement.

* @param {String[]} params The parameter values for the SQL statement.

* @param {Function} [callback] The callback after the SQL statement is executed.

*/

Oracle.prototype.executeSQL = function(sql, params, options, callback) {

var self = this;

//因为科技项目主键ID有13,14,15,16位的情况,在数据库主键Number存放16位数组的情况下,导致查不出数据,

//故判断参数类型是否为number类型,且长度大于15的,把参数强转转换为string类型,进行查询

//初略查看了oracle写的c++驱动代码,猜测是oracle c++参数类型为number时溢出导

//详情查看 njsConnection.cpp类的 1624行代码 NJS_VALUETYPE_NUMBER 附近,c++不懂,所以改这里。

if(params){

for(var i = 0 ; i < params.length; i++ ){

var temp = params[i];

if(typeof temp === 'number' && temp.toString().length >= 15){

params[i] = temp.toString();

}

}

}

//其他代码

}

主要是查询是,判断参数是否为number类型长度是否长于15位,如果是,强制转位string类型。即可解决。

愿君安好。

oracle number 16位,loopback-connector-oracle 主键Number类型长度为16位以上查询不到数据解决方法...相关推荐

  1. oracle批量插入并且返回自增主键_mybatis + (oracle)实现主键自增 + 插入数据并返回主键...

    一.实现主键自增 在oracle数据库中,主键并没有办法自动增长,无法使用insert对应的useGeneratedKeys和keyProperty属性自动返回增加的主键. 要实现自增需要修改 ID列 ...

  2. Win7,64位设置成豆沙绿护眼颜色后,vc6的visual assist 颜色失效,解决方法

    Win7,64位设置成豆沙绿护眼颜色后,vc6的visual assist 颜色失效,解决方法: Tool->Option->Format,点击ResetAll按钮

  3. oracle 唯一索引,唯一约束,主键之间的联系

    主键(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录,在两个表的关系中,主键用来在一个表中引用来自于另一个表中的特定记录,,主键时一种唯一关键字,表定义的一部分. ...

  4. oracle 主键 唯一性,oracle 唯一索引,唯一约束,主键之间的联系

    主键(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录,在两个表的关系中,主键用来在一个表中引用来自于另一个表中的特定记录,,主键时一种唯一关键字,表定义的一部分. ...

  5. oracle 表约束非空,oracle--约束(主键、非空、检查)

    问题1:学号重复了,数据还可以插入成功 使用主键约束:学号是唯一标识一条数据的,所以必须唯一且不能为空 ---(1).在确定为主键的字段后添加 primary key关键字 ---(2).在创建表的后 ...

  6. oracle实现id自增和设置主键

    1.关于主键:在建表时指定primary key字句即可: create table test(   id  number(6) primary key,   name varchar2(30) ); ...

  7. oracle 主键 字典表,oracle 增 删 改 查 新建表 主键 序列 数据字典

    ------------数据字典------------ select * from dba_tab_cols a where a.table_name='DEMO' create table dem ...

  8. 不是oracle约束的是,oracle--约束(主键、非空、检查)

    - 问题1:学号重复了,数据还可以插入成功 使用主键约束:学号是唯一标识一条数据的,所以必须唯一且不能为空 -(1).在确定为主键的字段后添加 primary key关键字 -(2).在创建表的后面使 ...

  9. Oracle使用序列+触发器实现表自增主键

    1.建表 -- Create table 创建表 test create table TEST (testid NUMBER not null,name NVARCHAR2(20) not null ...

最新文章

  1. 增强for循环,Map,集合应用
  2. Java 8陷阱–提防Files.lines()
  3. UVA - 101:The Blocks Problem
  4. access制作封装软件_用Access开发《社工服务管理系统》
  5. 设计师灵感交流社区|给你的作品一个舞台
  6. WCF同步到异步转换
  7. php radio用法,JavaScript_JQuery radio(单选按钮)操作方法汇总,随着Jquery的作用越来越大,使 - phpStudy...
  8. java 社招 简历_招聘java简历模板
  9. editplus5中文免费版
  10. 四川师范大学计算机科学学院分数线,2020四川师范大学计算机科学学院考研复试分数线已公布...
  11. CG标准函数库——数学函数(GPU编程与CG语言之阳春白雪下里巴人)
  12. JGG | 中科院微生物研究所王军团队发现肠系膜淋巴系统可能为肠-肝轴第二通路...
  13. google 搜索接口
  14. 4.1 费马质数分解
  15. 微信小程序绑定手机号js代码
  16. oracle12c ora 12560,12C安装历险记----ORA-12560和ORA-12537的解决方案
  17. 计算机物理学论文300字,物理考试反思范文300字(精选6篇)
  18. 高德地图搜索以后生成的marker的点击事件
  19. 踏浪点神:5.20 恒指黄金原油早盘分析及最新资讯
  20. hdparm 中文手册

热门文章

  1. php7.0扩展yac,php的yac拓展详解
  2. Logotype Maker-功能强大的免费在线logo设计工具
  3. MTK充电温度保护机制
  4. HDU 1248 寒冰王座 (背包)
  5. 新增微信小程序和WebRTC连麦直播等多项能力,即构实时音视频SDK再升级!
  6. 如何通过对范德蒙德行列式的学习来领悟数学思维
  7. hduoj 2012
  8. python下列合法的变量名是什么,python中的合法变量名有什么规则-Python教程
  9. tomcat启动出现闪退_tomcat启动闪退怎么办
  10. 机器学习四大降维方法