数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
今天早上突然要用到一个计算某月有多少天的函数,翻了半天没找到系统自带着中函数,于是动手写了一个,如下: 
**返回某个月有多少天 
FUNCTION HowMonthDay() 
   PARAMETERS cDate 
   LOCAL Days as Integer ,Years as Integer  
   IF !TYPE("cDate")=="D" 
      MESSAGEBOX("参数类型不正确,应该为日期型","系统提示!") 
      RETURN  
   ENDIF     
   Days=IIF(INLIST(MONTH(cDate),1,3,5,7,8,10,12),31,30) 
   **闰年计算方法 
   Years=YEAR(cDate) 
   IF MONTH(cDate)==2 
      Days = IIF(Years%400==0 OR (Years%4==0 AND Years%100<>0),29,28) 
   ENDIF  
   RETURN Days 
ENDFUNC    
后来郑宇大哥给我提供了一个返回月底的函数。如下: 
PROCEDURE EDOM 
* FUNCTION: 返回本月月底 
* M.L.Y 1998.8.8 
PARAMETERS DATE_TODAY 
PRIVATE ALL 
SET DATE TO ANSI 
SET CENTURY ON 
IF MONTH(DATE_TODAY) < 12 
    RETURN CTOD(STR(YEAR(DATE_TODAY),4,0) + "." ; 
              + STR(MONTH(DATE_TODAY)+1,2,0) + ".01") - 1 
ELSE 
    RETURN EDOY(DATE_TODAY) 
ENDIF 
思量了半天发现返回月底可能还要简单一点,我改进了一下: 
cDate=Date() 
??cDate+(32-DAY(cDate))-DAY(cDate+(32-DAY(cDate))) 
最后用这个思路改进了一下返回某月有多少天的函数,如下: 
FUNCTION HowMonthDay() 
   PARAMETERS cDate 
   LOCAL Days as Integer  
   IF !TYPE("cDate")=="D" 
      MESSAGEBOX("参数类型不正确,应该为日期型","系统提示!") 
      RETURN  
   ENDIF     
   Days=DAY(cDate+(32-DAY(cDate))-DAY(cDate+(32-DAY(cDate)))) 
   RETURN Days 
ENDFUNC    
其实最重要的只有一句:Days=DAY(cDate+(32-DAY(cDate))-DAY(cDate+(32-DAY(cDate)))) 
也不用管闰年平年了,省事。 
要是返回月底,那这句改为:cDate+(32-DAY(cDate))-DAY(cDate+(32-DAY(cDate))) 即可 
原理就是根据增加值来计算当月的下一个月超出几天,然后减去几天就是当月的最后一天了。
全新的路由器不仅让你更稳定快速地连接无线网络,更可以让家中的智能设备连接在一起。
      ……