明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

對(duì)于ASP程序中日期型數(shù)據(jù)的格式問題探討

[摘要]無論是MIS還是INTRANET(INTERNET)開發(fā),日期型數(shù)據(jù)始終是一個(gè)頭痛的問題,因?yàn)閷?duì)它的處理不象處理數(shù)字或字符串那樣 隨心所欲,而是差之毫厘,程序就不通。 在WEB-WEBSERVER-DATABASE三層結(jié)構(gòu)的開發(fā)過程中,日期型數(shù)據(jù)的應(yīng)用較為頻繁,而對(duì)不同的數(shù)據(jù)庫,日期格式的定義還不...

無論是MIS還是INTRANET(INTERNET)開發(fā),日期型數(shù)據(jù)始終是一個(gè)頭痛的問題,因?yàn)閷?duì)它的處理不象處理數(shù)字或字符串那樣
隨心所欲,而是差之毫厘,程序就不通。

在WEB-WEBSERVER-DATABASE三層結(jié)構(gòu)的開發(fā)過程中,日期型數(shù)據(jù)的應(yīng)用較為頻繁,而對(duì)不同的數(shù)據(jù)庫,日期格式的定義還不
一樣,所以在編輯網(wǎng)頁時(shí)首先應(yīng)留心一下日期的格式如何定義,否則在進(jìn)行數(shù)據(jù)庫提交和查詢操作時(shí)就會(huì)出錯(cuò)。ASP(ACTIVE
SERVER PAGES)是微軟提供的WEBSERVER -IIS4.0中的一個(gè)服務(wù)器端的腳本環(huán)境,當(dāng)運(yùn)行在服務(wù)器端時(shí),WEB服務(wù)器完成腳本的描
述,回送到客戶端的是標(biāo)準(zhǔn)的HTML調(diào)用。ASP直接在HTML文件中嵌入腳本,使開發(fā)與維護(hù)工作變得簡(jiǎn)單、快捷、靈活。開發(fā)工具用
普通文本編輯器、FRONTPAGE 98等都可以。ASP的腳本只在服務(wù)器端解釋執(zhí)行,一般用戶在瀏覽器端無法看到具體的腳本,這對(duì)系
統(tǒng)的安全性有極大的幫助。目前這方面的應(yīng)用環(huán)境多為WIN NT+SQL SERVER6+IIS4,筆者除了介紹這個(gè)環(huán)境下的日期格式之外,還
介紹WIN NT+ORACLE7+IIS4的應(yīng)用環(huán)境,通過兩者的比較,會(huì)加深這方面的了解,本文中用到的ASP腳本語言是VB。

1 環(huán)境1

操作系統(tǒng)為NT4.0,WWW服務(wù)器為WEB SERVER IIS4.0,數(shù)據(jù)庫為SQL SERVER6.5。

1.1 和數(shù)據(jù)源的連接

ODBC數(shù)據(jù)源的名字為name_of_odbc,SQL SERVER數(shù)據(jù)庫的用戶名為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 用數(shù)組變量將12個(gè)月份存儲(chǔ)起來,
1.3 環(huán)境2中也要用到,
1.4 不
1.5 再重復(fù)
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,在入庫時(shí),SQL SERVER只識(shí)別這種格式的日期數(shù)據(jù)。

2 環(huán)境2

2.1 和數(shù)據(jù)源的連接

ODBC數(shù)據(jù)源的名字為name_of_odbc,ORACLE7數(shù)據(jù)庫的用戶名為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,在入庫時(shí),ORACLE7不識(shí)別這種格式的日期數(shù)據(jù)。而是識(shí)別8-Apr-99格式的數(shù)據(jù),所以,在編
程時(shí)可將賦值語句調(diào)整過來:

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

即將年度取后兩位,def_timevalue的值變?yōu)?-Apr-99,這樣,ORACLE7數(shù)據(jù)庫就能識(shí)別了。(出處:熱點(diǎn)網(wǎng)絡(luò))