摘要: v_count NUMBER(2);SELECT COUNT(*) INTO v_count FROM T_AAA;IF v_count0 THEN RETURN 1;END IF;RETURN 0; 阅读全文
posted @ 2010-12-20 10:58 RobotTech 阅读(2042) 评论(0) 推荐(0) 编辑
摘要: PRINT CHARINDEX('a', 'vabc')SELECT INSTR('vabc','a') from dual; 阅读全文
posted @ 2010-12-20 10:47 RobotTech 阅读(200) 评论(0) 推荐(0) 编辑
摘要: create or replace type tb_strSplit as table of varchar2(4000); create or replace function to_table(pv_str varchar2,pv_split varchar2) return tb_strSplit as ltab tb_strSplit := tb_strSplit(); pos integer := 0; ls varchar2(4000) := pv_str;begin pos := instr(ls,pv_split); while pos 0 loop ltab.extend 阅读全文
posted @ 2010-12-20 10:44 RobotTech 阅读(518) 评论(0) 推荐(0) 编辑
摘要: print 0 | 1 | 2 | 4 | 8print 15 & 0print 15 & 1print 15 & 2print 15 & 4print 15 & 8SELECT bitand(15, 8) from dual; 阅读全文
posted @ 2010-12-20 10:42 RobotTech 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 本文介绍C#位运算的处理方法,第一步, 先建立一个枚举表示所有的权限管理操作,接下来是权限的运算等。   常用的位运算主要有与(&), 或(|)和非(~), 比如:   1 & 0 = 0, 1 | 0 = 1, ~1 = 0   在设计权限时, 我们可以把权限管理操作转换为C#位运算来处理.   第一步, 先建立一个枚举表示所有的权限管理操作:   [Flags]   public enum Permissions   {   Insert = 1,   Delete = 2,   Update = 4,   Query = 8   }   [Flags]表示该枚举可以支持C#位运算, 而枚 阅读全文
posted @ 2010-12-20 10:34 RobotTech 阅读(545) 评论(0) 推荐(0) 编辑
摘要: System.Threading.Timer 是一个使用回调方法的计时器,而且由线程池线程服务,简单且对资源要求不高。 只要在使用 Timer,就必须保留对它的引用。对于任何托管对象,如果没有对 Timer 的引用,计时器会被垃圾回收。即使 Timer 仍处在活动状态,也会被回收。当不再需要计时器时,请使用 Dispose 方法释放计时器持有的资源。 使用 TimerCallback 委托指定希望 Timer 执行的方法。计时器委托在构造计时器时指定,并且不能更改。此方法不在创建计时器的线程中执行,而是在系统提供的线程池线程中执行。 创建计时器时,可以指定在第一次执行方法之前等待的时间量 阅读全文
posted @ 2010-12-20 10:33 RobotTech 阅读(314) 评论(0) 推荐(0) 编辑