快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

关于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个月份存储起来,环境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数据库就能识别了
返回类别: 教程
上一教程: 用ASP来做免费邮箱的访问
下一教程: ASP调用带参数存储过程的几种方法

您可以阅读与"关于ASP程序中日期型数据的格式问题"相关的教程:
· 在ASP程序中实现数据库事务控制
· 关于ASP访问ACCESS数据的错误的探讨
· 在ASP程序中访问ACCESS数据库
· ASP链接MYSQL并读取数据的程序
· ASP程序中使用断开的数据记录集
    微笑服务 优质保证 索取样品