www.五月婷婷_亚洲成人精品影院_亚洲精品一区二区三区区别_国产黄色免费观看_亚洲高清无码久久_男人日女人视频网站_亚洲区成人777777精品_欧美日韩在线高清_97超级碰碰人国产在线观看_午夜精品久久久久久久99水蜜桃

如何提高M(jìn)SSQL和ACCESS的兼容性

點(diǎn)擊次數(shù):147 發(fā)布時(shí)間:2015-6-24

 大家都知道ASP當(dāng)中,最常用到的是ACCESS和MSSQL兩個(gè)數(shù)據(jù)庫(kù)。很多程序都想開(kāi)發(fā)成兩個(gè)數(shù)據(jù)庫(kù)都可以使用的模式,但是礙于兩個(gè)數(shù)據(jù)庫(kù)得一些SQL語(yǔ)句不一致,所以導(dǎo)致很多程序都分兩個(gè)沒(méi)有必要的版本,就是ACCESS和MSSQL版!而事實(shí)上,我們可以通過(guò)對(duì)代碼判斷和識(shí)別,控制整個(gè)程序的兼容性。也就是說(shuō),將兩個(gè)版本兼容成一個(gè)系統(tǒng)。例如我的ASP飛云小說(shuō)系統(tǒng),就是兩種數(shù)據(jù)庫(kù)都可以運(yùn)作的程序。

那么,到底如何讓程序存在數(shù)據(jù)庫(kù)兼容性并且得到高效的運(yùn)作呢。下邊我將以我的飛云小說(shuō)系統(tǒng)做范例,說(shuō)說(shuō)我的一些控制方法和代碼。

首先,我們要控制一個(gè)參數(shù),讓程序知道我們現(xiàn)在運(yùn)作的是什么數(shù)據(jù)庫(kù)。

如:飛云小說(shuō)程序中的Config.asp文件參數(shù)

 

以下為引用的內(nèi)容:
Const SystemDatabaseType = "ACCESS"      '系統(tǒng)數(shù)據(jù)庫(kù)類(lèi)型,"SQL"為MSSQL 2000/2005數(shù)據(jù)庫(kù),"ACCESS"為MS ACCESS 2000數(shù)據(jù)庫(kù)

這是兼容性開(kāi)始的基礎(chǔ),是整個(gè)程序數(shù)據(jù)庫(kù)的判別。所以是非常有必要設(shè)置這么一個(gè)參數(shù)的。

第二,數(shù)據(jù)庫(kù)連接方式和常用函數(shù)的區(qū)分

在我的程序當(dāng)中,Conn.asp里邊還存在下邊的一段代碼:

 

代碼:

If SystemDatabaseType = "SQL" Then
        ConnStr = "Provider = Sqloledb; User ID = " & SqlUsername & "; Password = " & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source = " & SqlHostIP & ";"
        FY_True = "1"
        FY_False = "0"
        FY_Now = "GetDate()"
        FY_OrderType = " desc"
        FY_DatePart_D = "d"
        FY_DatePart_Y = "yyyy"
        FY_DatePart_M = "m"
        FY_DatePart_W = "ww"
        FY_DatePart_H = "hh"
Else   
        ConnStr= "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(mdb)
        FY_True = "True"
        FY_False = "False"
        FY_Now = "Now()"
        FY_OrderType = " asc"
        FY_DatePart_D = "'d'"
        FY_DatePart_Y = "'yyyy'"
        FY_DatePart_M = "'m'"
        FY_DatePart_W = "'ww'"
        FY_DatePart_H = "'h'"
End If

這個(gè)代碼,除了區(qū)別數(shù)據(jù)庫(kù)連接方式之后,還將MSSQL和ACCESS常用的語(yǔ)句進(jìn)行變量賦值。這樣做的好處就是后面使用相關(guān)內(nèi)容的時(shí)候可以直接使用調(diào)用變量的方法,而不再需要進(jìn)行數(shù)據(jù)庫(kù)類(lèi)型的判斷。

例如對(duì)比時(shí)間的datediff函數(shù)問(wèn)題上:

 

代碼:
"Select * From [表] where datediff('"&FY_DatePart_D&",數(shù)據(jù)庫(kù)時(shí)間,'變量名)=0 Order By id Desc"

這樣就免去了數(shù)據(jù)庫(kù)的判別,減少了代碼量和實(shí)用性。

第三,正確使用兼容性代碼,而不使用特色代碼。

很多人在寫(xiě)MSSQL數(shù)據(jù)庫(kù)的是很,都很喜歡使用conn.execute語(yǔ)句,而不使用open方式。雖然在速度上,很多時(shí)間conn.execute會(huì)比open方式要高速度一點(diǎn)。但是這不是一概而論的。

比如說(shuō),在一個(gè)判斷是否已經(jīng)存在的過(guò)程算法當(dāng)中。如果你已經(jīng)使用了open進(jìn)行了BOF或EOF的判斷,那么你還要使用conn.execute進(jìn)行判斷的話,那速度,肯定是不如在OPEN直接修改的好。

而且,在代碼當(dāng)中open方式的兼容性,遠(yuǎn)遠(yuǎn)要高過(guò)conn.execute。例如時(shí)間函數(shù)now()的使用上.(這個(gè)函數(shù)在ACCESS和MSSQL的區(qū)別,大家自己去百度)

第四,在追求兼容性的情況下,犧牲一點(diǎn)效率也是必要的。

第三點(diǎn)當(dāng)中,如果你的過(guò)程不需要判斷是否存在,就是在沒(méi)有打開(kāi)OPEN的情況下的話。你可以使用conn.execute。但是我的不是一概而論的。比如說(shuō),如果是一個(gè)比較少用到,不是頻繁讀取的過(guò)程。我會(huì)選擇使用OPEN方式,而不使用conn.execute方式。

雖然這過(guò)程的速度會(huì)降低。可是這不影響到我的使用,所以我還是選擇OPEN方式。原因很簡(jiǎn)單,就是兼容性的選擇。

最后,在必要的時(shí)候放棄兼容性的追求,采用不同數(shù)據(jù)庫(kù)不同代碼。

前面第一點(diǎn),我們對(duì)代碼已經(jīng)做了一個(gè)設(shè)置,就是數(shù)據(jù)庫(kù)類(lèi)型的設(shè)置。那么當(dāng)我們遇到一些不能通過(guò)兼容性解決,或者是像conn.execute和OPEN方式上的追求的時(shí)候。我們可以利用前面SystemDatabaseType的參數(shù)設(shè)置進(jìn)行判斷,然后相應(yīng)使用不同的代碼。

 

如:
If SystemDatabaseType = "SQL" Then
'MSSQL數(shù)據(jù)庫(kù)時(shí)使用的代碼

Else   
'ACCESS數(shù)據(jù)庫(kù)時(shí)使用的代碼

End If

這樣就可以保證程序的高效性以及穩(wěn)定性。這也是整個(gè)程序的兼容性的一種。

后編:

還是和上次的教程《如何購(gòu)買(mǎi)適合自己的商業(yè)程序版本》上PS課的時(shí)候?qū)懡坛蹋赂拢∫驗(yàn)闀r(shí)間比較短,可能有一些問(wèn)題沒(méi)有涉及到,或者過(guò)程有什么錯(cuò)誤的地方,希望大家評(píng)論指正。如果有興趣的朋友,可以到中國(guó)站長(zhǎng)站(Chinaz.com)或到我的網(wǎng)站 下載我的免費(fèi)版小說(shuō)程序,研究一下!

 

 

  • 添加微信

  • 聯(lián)系電話

    0851-86720570
  • 精品一区二区三区的国产在线观看| 精品对白一区国产伦| 99久久久无码国产精品性波多| 成+人+亚洲+综合天堂| 少妇性l交大片7724com| 国产目拍亚洲精品99久久精品 | 蜜桃av综合| 欧美激情第3页| 久草在线综合| 成人黄视频免费| 最新亚洲一区| 久久精品国产露脸对白| 一区二区三区不卡视频| 国产三级漂亮女教师| 久久成人精品电影| 欧美综合精品| 日本免费不卡一区二区| 国产精品久久久久久妇女6080| 亚洲区自拍偷拍| 精品国产三级a在线观看| 最新中文字幕第一页| 国内精品久久久久影院 日本资源| 精品视频99| 欧美视频第三页| 亚洲一区二区三区视频在线| 国产ts变态重口人妖hd| 国产精品av在线| 久久亚洲黄色| 霍思燕三级露全乳照| 天堂俺去俺来也www久久婷婷| 中国丰满熟妇xxxx性| 亚洲欧美日韩在线不卡| 蜜桃久久一区二区三区| 国产区亚洲区欧美区| 蜜桃久久精品一区二区| 伊人网伊人影院| 国产丝袜一区视频在线观看| 国产 日韩 欧美 综合 一区| 日韩中文字幕二区| 日韩欧美在线免费观看| 高清久久一区| 国内少妇毛片视频| 日本久久精品电影| 台湾成人免费视频| 国产又粗又硬又长| 一本一本大道香蕉久在线精品 | 91蝌蚪精品视频| 一区二区不卡视频| 亚洲国产成人av好男人在线观看| 国产女人18毛片18精品| 成人久久久久久| 精品一区二区精品| 久久久久久久福利| 国产精品视频在线播放| 国产麻豆成人传媒免费观看| 啦啦啦免费高清视频在线观看| 欧美自拍视频在线观看| 久久高清一区| 久久久久久久国产精品毛片| 欧美一级电影久久| 成人激情小说乱人伦| 国产农村妇女aaaaa视频| 国产一区二区三区av在线| 久久久国产午夜精品| 国产成人精品毛片| 日韩三级电影免费观看| 亚洲欧美日韩久久| 色8久久影院午夜场| www日韩在线观看| 日韩欧美国产电影| 亚洲激情精品| 麻豆亚洲av熟女国产一区二| 99在线影院| 亚洲欧洲在线观看av| japansex久久高清精品| 国产成人手机视频| 精品国产一区二区三区久久久狼| 午夜在线精品| 在线免费观看av网址| 久久国产精品一区二区三区| 亚洲午夜私人影院| 国产精品久久久久av蜜臀| 精品视频在线观看一区| 精品亚洲一区二区三区在线播放| 亚洲成人99| 日韩三级小视频| 久久手机视频| 精品国产免费人成在线观看| 亚洲国产裸拍裸体视频在线观看乱了中文| 偷偷操不一样的久久| 国产乱码精品一区二区三区中文| 色美美综合视频| 波多野结衣在线播放一区| 激情五月婷婷在线| 国产综合18久久久久久| 欧美精品久久99| 欧美成熟视频| 国产一区二区女内射| 欧美黄色免费网址| 久久久国产91| 不卡的av在线播放| 香蕉成人影院| wwwxxx色| 国产精品一区二区三区成人| 一本大道久久精品懂色aⅴ| 欧美www视频在线观看| 国产无码精品久久久| 免费h精品视频在线播放| 在线免费视频一区二区| 99tv成人| 日韩在线 中文字幕| 吴梦梦av在线| 亚洲午夜女主播在线直播| 蜜臀av在线播放一区二区三区| 后进极品白嫩翘臀在线视频| 国产精品久久久久9999小说| 久久综合伊人77777蜜臀| 91视视频在线观看入口直接观看www| 欧美艳星kaydenkross| 亚欧精品在线视频| 4438全国成人免费| 亚洲在线中文字幕| 欧美成人自拍| 日本成人一级片| 免费大片在线观看| 国内精品400部情侣激情| √…a在线天堂一区| 欧美日韩国产一区二区三区不卡| 国产成人在线观看网站| 久久99久久久久久| 久久久综合免费视频| 亚洲精品国产第一综合99久久| 国产一区二区观看| 久久免费激情视频| 久草资源站在线观看| 午夜精品福利电影| 亚洲午夜在线观看视频在线| 精品在线手机视频| 三级黄色录像视频| 国产精品久久久国产盗摄| 亚洲AV无码国产成人久久| 杨幂毛片午夜性生毛片| 久久久久久久国产视频| 中文字幕在线乱| 精品精品国产国产自在线| 欧美激情综合五月色丁香| 精品成人影院| www.国产.com| 亚洲av无码国产精品久久| 夜夜爽99久久国产综合精品女不卡| 亚洲视频在线观看网站| 国产精品每日更新| 综合激情网站| 欧美色网在线| 国产精品成人国产乱| 国产97色在线 | 日韩| 国产欧美亚洲精品| 日韩精品在线免费| 亚洲三级久久久| 欧美88av| 成人短视频软件网站大全app| 久久综合激情网| 欧美婷婷精品激情| 国产精品免费看一区二区三区| 亚洲男人的天堂在线播放| 亚洲视频综合在线| 日韩不卡一区二区| 亚洲影院天堂中文av色| 亚洲精品视频专区| 国产精品嫩草影院俄罗斯| 国产v亚洲v天堂无码久久久| 高清视频在线观看一区| 最近2019中文字幕一页二页| 午夜精品久久久久久久久久久 | 国产成人精品日本亚洲11| 亚洲男女性事视频| 国产精品二三区| 九色综合狠狠综合久久| 国产亚洲一卡2卡3卡4卡新区| 亚洲色图另类小说| 久久精品人妻一区二区三区| 亚洲妇熟xx妇色黄蜜桃| 国产日韩第一页| 国产66精品久久久久999小说| 亚洲欧美精品suv| 国产精品另类一区| 毛片一区二区三区| 久久在线视频免费观看| 成人亚洲免费| 国产美女精品视频国产| 国产又粗又硬又长又爽| 国产精品91av| 先锋影音亚洲资源| 久久涩涩网站| 国产精品亚洲片夜色在线| 九九热最新视频//这里只有精品| 精品国产91乱码一区二区三区| 色婷婷精品大在线视频| 亚洲男帅同性gay1069| 久久综合狠狠综合|