工作中遇到的坑
一:C#
1.KeyDown事件触发不成功
问题:回车键时,没有触发KeyDow事件,而其他键都可以触发KeyDown事件。
解决:将控件属性中的EnterToTab属性的值设置false,即EnterToTab=false;
2.文本框不能输入中文
ImeMode属性的值是否为Disable,如果是则设置为On即可。
3.报错:Lc.exe已退出 代码为-1
解决方法1:针对项目中有licenses.licx文件
查看加载的程序项目,找到Properties文件夹中的licenses.licx文件,右键删除;
解决方法2:针对项目中没有licenses.licx文件
打开项目的根目录,找到 *.csproj文件,使用文本编辑器打开该文件,在文件中查找licenses.licx字样,删除对应的节点;
解决方法3:上述两种方法都没有解决时
一般是Properties文件夹中已经没有licenses.licx文件,程序还是报这个错,这时只需重命名一个空的txt文件为licenses.licx,再放入Properties文件夹中;
4.C#/java代码中执行的sql语句不能以“;”结尾
打印sql直接在plsql中执行是没问题的,但是在C#/java代码中执行的时候就会报异常:ORA-00911: 无效字符;
其问题根源在SQL的最后结尾处的一个冒号";",应该去掉SQL最后的";",之后再重启就没问题了;
即,string sql="select * from demo ;"; 这是错误的,因为sql语句在代码中,不能一”;“结束,正确的是:string sql="select * from demo”;
二:数据库
1.ORA-12704:character set mismatch
使用union all时,报这个错:

原因:T_CO_EMP_DESC表中的EMP_NAME字段类型(VARCHAR2(50)), T_MES_PVA_USER表中的PHONE字段类型(VARCHAR2(20)),两者的字符类型相同,但是长度不同,所以报错。
解决:转换为字符类型,以及长度相同的字符。

2.ORA-00979:not a GROUP BY expression

with t1 as (SELECT SUM(decode(ERROR_FLAG || Test_Result, '01', 1, 0)) NTF, GROUP_NAME, STATION_NAME, IN_STATION_HOUR, STATION_NAME || '|' || TO_CHAR(IN_STATION_HOUR, 'yyyy-MM-dd hh24:mi:ss') STATION_HOUR FROM ( -- select查询语句 ) GROUP BY GROUP_NAME, STATION_NAME,trunc(IN_STATION_HOUR,'hh') --IN_STATION_HOUR ORDER BY IN_STATION_HOUR) select round(exp(SUM(ln(FPY))), 5) FPY, round(exp(SUM(ln(PY))), 5) PY, IN_STATION_HOUR from ( select sum(t.PASS) / (sum(t.PASS) + sum(nvl(t1.NTF, t.NTF)) + sum(t.NG)) FPY, (sum(t.PASS) + sum(nvl(t1.NTF, t.NTF))) / (sum(t.PASS) + sum(nvl(t1.NTF, t.NTF)) + sum(t.NG)) PY, t.GROUP_NAME, t.IN_STATION_HOUR from ( --select查询语句 ) t left join t1 on t1.STATION_HOUR = t.STATION_HOUR group by t.GROUP_NAME, t.IN_STATION_HOUR ) GROUP BY IN_STATION_HOUR order by IN_STATION_HOUR
原因:
问题出现trunc()函数上,oracle 11g的版本bug。有些版本是可以运行的,可能是Oracle的BUG。
本次的版本:——该版本运行报错,即GROUP BY 后不可以跟函数,tochar()等函数也会报错;
解决:
trunc(IN_STATION_HOUR,'hh')修改成IN_STATION_HOUR;
3.ORA-014828:argument '0' is out of arange
报错:参数0不在范围

原因:a.a_qty - nvl(b.b_qty, 0)=0,所以导致报错!
解决:
在where条件后面加一个条件:and a.a_qty!=nvl(b.b_qty, 0)

4.ORA-06502:数字或值错误
select wm_concat(group_name)names from t_wip_detail d join t_co_mobanding_erpmo er on er.mo_number = d.mo_number where d.in_station_time > trunc(sysdate) + 8 / 24 and d.in_station_time < trunc(sysdate) + 1 + 8 / 24 and er.v_line='2线' group by d.group_name order by d.group_name

报错原因: 不能直接使用wm_concat函数,要在外层使用;
正确sql:
select wm_concat(group_name) names from (select wm_concat(group_name) names from t_wip_detail d join t_co_mobanding_erpmo er on er.mo_number = d.mo_number where d.in_station_time > trunc(sysdate) + 8 / 24 and d.in_station_time < trunc(sysdate) + 1 + 8 / 24 and er.v_line = '2线' group by d.group_name order by d.group_name)
5.ORA-017022:invalid number
报错:无效数字

报错原因:tblmitem_b表中的字段mitemcode是varchar2类型,而tblmobom表中字段itemcode是number类型,所以报错!
解决方法:将tblmobom表中字段itemcode转换为varchar2类型:
item1.mitemcode =cast(mo.itemcode as varchar2(80))
三:javaScript
1. 页面报错:对象不支持属性或方法“success”

原因:js引用的版本太低了

换成:http://libs.baidu.com/jquery/1.9.1/jquery.min.js


浙公网安备 33010602011771号