欢迎光临
我们一直在努力

关于ASP程序中日期型数据的格式问题

建站超值云服务器,限时71元/月

无论是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个月份存储起来,环境2中也要用到,不再重复说明 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数据库就能识别了

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 关于ASP程序中日期型数据的格式问题
分享到: 更多 (0)