07 2008 档案
摘要:早上上班发现oracle一异常,错误提示:SQLException:ORA-01795:maximumnumberofexpressionsinalistis1000错误原因:在SELECT查询语句时,WHERE中的某一个条件采用IN的方式,但是由于数据过多则产生错误,oracle中in列表不能超过1000。解决办法: 1、采用多个in ,原来in (1......1005) 写成 in(1.....1000) or id in(1001...1005) 2. 采用join链接。 3. 其他任何办法,只要降低In中列表元素的数量即可。
阅读全文
摘要:CSV即Comma Separate Values的缩写,现在常见到这种格式的文件,例如Google adsense的自定义报表就有这种格式具体来说,格式如下:每条记录占一行 以逗号为分隔符 逗号前后的空格会被忽略 字段中包含有逗号,该字段必须用双引号括起来 字段中包含有换行符,该字段必须用双引号括起来 字段前后包含有空格,该字段必须用双引号括起来 字段中的双引号用两个双引号表示 字段中如果有双引号,该字段必须用双引号括起来 第一条记录,可以是字段名 windows平台下一般将CSV文件定义为xml后缀,用文本编辑器就可以打开。
阅读全文
摘要:Java web下载文件功能的确很简单。如下代码片段String fileName ="....";response.setHeader("Content-disposition","attachment; filename="+fileName);//response.setContentType("application/ms-word");BufferedInputStream bis = null;BufferedOutputStream bos = null; try { bis = new Buffer
阅读全文
摘要:网上看到很多关于访问控制级别的描述,相当模糊,特别是protected和默认级别很多人都不清楚,这里我详细分解了一下,相信已经很清晰,从上到下,访问控制的限制越来越严格,熟悉这些限制对于设计也有很多好处。访问控制符同类同包子类同包其它类不同包子类不同包其它类public√√√√√protected√√√√×默认√√√××private√××××
阅读全文
摘要:一、子类重定义父类的方法,同时子类拥有和父类相同的属性,使用属性的规则是:如果实际执行的是子类方法就使用子类属性,执行的是父类方法就使用父类属性。属性没有重定义的概念 例如: public class A{ public int i=1; public void test(){ System.out.println(i); }}public class B extends A{ public int i=2; public void test(){ System.out.println(i); }public static void main(String [] args){ ...
阅读全文
摘要:oracle中rownum伪字段用得比较频繁,特别是分页之中,但是由于它的一些特殊性很多人可能并不理解它的实际行为,网络上有很多文章介绍这个 rownum的用法,但是很多都讲得非常模糊,或者就是不太全面,大家看起来也非常痛苦,在这里我将给大家全面讲解一下,希望对大家有所帮助: 首先我们来认识几点rownum的特殊性: 第一、rownum是在记录输出的时候才一步一步的产生的。 第二、如果之前没有满足条件的记录输出,则后面的rownum始终都是从1开始的。 记住以上两点,基本上你也算是非常了解这个伪字段的用法了,下面我来具体分析一下这些特殊性。我们考察如下的 SQL语句:select *...
阅读全文
摘要:中国的彩票选号,例如36选7,从36个数字中随机选取7个,这在算法上如何实现呢? 最简单的想法就是,每次都从1~36随机选取一个数,一共选7次,不就可以了吗? 但这样会有一个问题——重复。彩票选号是不能重复的,这也即是说如果你第一次选到的数是10,那么以后再从1~36中选数的时候,10就不能再选了。 有人可能会说了,这还不好办,如果重复了就废掉,重新再选一个呗。 这的确是一种解决方法,但是会有很大的问题,比如说5选4吧,前三个都已经选好了是2,3,4,现在取第4个数,这种情况下,取到1和5的几率要比取到2,3,4的几率还要小,也就是说,最坏的情况下,有可能会取很多次2,3,4,扔掉很多次,才最
阅读全文
摘要:大型web运用中我们都知道会采用多数据库的方式来存储大量数据,这个过程中我们就会采用对数据的垂直划分或者水平划分来组织数据。当然web查询就会涉及到分页,如果采用的水平划分数据,那么查询分页的数据就可能分布在不同的数据库中,那么这个时候我们如何来分页呢? 其实原理很简单,比如,我要查询第11页的数据,这里每页数据是20条,那么第11页数据的记录位置就在201开始到210的位置结束。假设现在我们的记录水平分割在了3个数据库中(或者3张表中),此时,我们就需要这样来进行分页,首先从每个数据库(每张表)中分别都查出前210条数据,这样这里就有210*3=630条。然后对这630条数据进行排序,从中取
阅读全文