精华区 [关闭][返回]

当前位置:月光软件>>讨论区精华>>〖软件开发〗>>● ASP>>★ASP的技巧★>>日期时间>>关于ASP程序中日期型数据的格式问题探讨

主题:关于ASP程序中日期型数据的格式问题探讨
发信人: wuga(冰雨梦)
整理人: dongbao(2002-04-19 16:57:50), 站内信件
关于ASP程序中日期型数据的格式问题探讨
  无论是MIS还是INTRANET(INTERNET)开发,日期型数据始终是一个头痛的问题,因为对它的处理不象处理数字或字符串那样随心所欲,而是差之毫厘,程序就不通. 

  在WEB-WEBSERVER-DATABASE三层结构的开发过程中,日期型数据的应用较为频繁,而对不同的数据库,日期格式的定义还不一样,所以在编辑网页时首先应留心一下日期的格式如何定义,否则在进行数据库提交和查询操作时就会出错.ASP(ACTIVE SERVER PAGES)是微软提供的WEBSERVER -IIS4.0中的一个服务器端的脚本环境,当运行在服务器端时,WEB服务器完成脚本的描述,回送到客户端的是标准的HTML调用.ASP直接在HTML文件中嵌入脚本,使开发与维护工作变得简单、快捷、灵活.开发工具用普通文本编辑器、FRONTPAGE 98等都可以.ASP的脚本只在服务器端解释执行,一般用户在浏览器端无法看到具体的脚本,这对系统的安全性有极大的帮助.目前这方面的应用环境多为WIN NT+SQL SERVER6+IIS4,笔者除了介绍这个环境下的日期格式之外,还介绍WIN NT+ORACLE7+IIS4的应用环境,通过两者的比较,会加深这方面的了解,本文中用到的ASP脚本语言是VB. 

1 环境1 

操作系统为NT4.0,WWW服务器为WEB SERVER IIS4.0,数据库为SQL SERVER6.5. 

1.1 和数据源的连接 

ODBC数据源的名字为name_of_odbc,SQL SERVER数据库的用户名为sql_server_dbname,密码为sql_server_dbpasswd. 

Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "name_of_odbc","sql_server_dbname","sql_server_dbpasswd" 

1.2 用数组变量将12个月份存储起来, 
1.3 环境2中也要用到, 
1.4 不 
1.5 再重复 
1.6 说明 

Dim month1_12(12) 
month1_12(1)="Jan" 
month1_12(2)="Feb" 
month1_12(3)="Mar" 
month1_12(4)="Apr" 
month1_12(5)="May" 
month1_12(6)="Jun" 
month1_12(7)="Jul" 
month1_12(8)="Aug" 
month1_12(9)="Sep" 
month1_12(10)="Oct" 
month1_12(11)="Nov" 
month1_12(12)="Dec" 



1.3 日期型变量的赋值 

INI_TIMEVALUE = Date() 

在FORM的输出框中显示的式为:1999-4-8 

INI_TIMEVALUE = REQUEST(INI_TIMEVALUE) 

def_timevalue = DAY(INI_TIMEVALUE) & "-" & month1_12(Month(INI_TIMEVALUE)) & "-" &Year(INI_TIMEVALUE) 

def_timevalue的值是8-Apr-1999,在入库时,SQL SERVER只识别这种格式的日期数据. 

2 环境2 

2.1 和数据源的连接 

ODBC数据源的名字为name_of_odbc,ORACLE7数据库的用户名为oracle_dbname,密码为oracle_dbpasswd. 

Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "name_of_odbc","oracle_dbname","oracle_dbpasswd" 

2.2 日期型变量的赋值 

INI_TIMEVALUE = Date() 

在FORM的输出框中显示的式为:1999-4-8 

INI_TIMEVALUE = REQUEST(INI_TIMEVALUE) 

def_timevalue = DAY(INI_TIMEVALUE) & "-" & month1_12(Month(INI_TIMEVALUE)) & "-" &Year(INI_TIMEVALUE) 

def_timevalue的值是8-Apr-1999,在入库时,ORACLE7不识别这种格式的日期数据.而是识别8-Apr-99格式的数据,所以,在编程时可将赋值语句调整过来: 

def_timevalue = DAY(INI_TIMEVALUE) & "-" & month1_12(Month(INI_TIMEVALUE)) & "-" & mid(Year(INI_TIMEVALUE),3,2) 

即将年度取后两位,def_timevalue的值变为8-Apr-99,这样,ORACLE7数据库就能识别了. 


----
北京社区体育运动中国足球版副
北京社区编程世界ASP版副



:乱灌者严惩!
  


[关闭][返回]






转载请注明:转载自 月光程序代码网 [ http://www.moon-soft.com ]