日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SQLServer與Access數(shù)據(jù)庫ASP代碼的比較詳解

在用ASP開發(fā)網(wǎng)站時(shí),后臺(tái)數(shù)據(jù)庫的選擇常常有兩種,一種是SQL Server,另一種就是Access,那么這兩種數(shù)據(jù)庫在ASP開發(fā)網(wǎng)站的過程中有什么不同的地方嗎?本文我們就來介紹這一部分內(nèi)容,希望能夠?qū)δ兴鶐椭?/p>

創(chuàng)新互聯(lián)是專業(yè)的香河網(wǎng)站建設(shè)公司,香河接單;提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行香河網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

后臺(tái)數(shù)據(jù)庫:[Microsoft Access]與[Microsoft Sql Server]更換之后,ASP代碼應(yīng)注意要修改的一些地方:

一、連接問題(舉例)

 
 
 
  1. [Microsoft Access]  
  2. constr = "DBQ=c:\data\clwz.mdb; DRIVER={Microsoft Access Driver (*.mdb)}" 
  3. [Microsoft Sql Server]  
  4. constr = "DRIVER={SQL Server};SERVER=host;DATABASE=mydata;uid=sa;pwd=" 

 

二、相似函數(shù)(舉例)

[1]DATEDIFF(datepart, startdate, enddate),其中“datepart”參數(shù)可選項(xiàng)如下:

 
 
 
  1. 設(shè)置 描述   
  2. ————————————  
  3. [Microsoft Access]  
  4. 年 yyyy  
  5. 季度 q  
  6. 月 m  
  7. 一年的日數(shù) y  
  8. 日 d  
  9. 一周的日數(shù) w  
  10. 周 ww  
  11. 小時(shí) h  
  12. 分鐘 n  
  13. 秒 s  
  14. [Microsoft Sql Server]  
  15. year yy, yyyy  
  16. quarter qq, q  
  17. month mm, m  
  18. dayofyear dy, y  
  19. day dd, d  
  20. week wk, ww  
  21. hour hh  
  22. minute mi, n  
  23. second ss, s  
  24. millisecond ms 

基本上差不多,但注意的是在寫的時(shí)候,[Microsoft Access]要加引號(hào),如:datediff('d',enddate,'2004/08/01'),[Microsoft Sql Server]則不需要,如:datediff(d,enddate,'2004/08/01')

[2][Microsoft Access]中可用如cstr等轉(zhuǎn)數(shù)據(jù)類型函數(shù),而[Microsoft Sql Server]中則用convert或cast函數(shù),如:convert(varchar,[amount])等。

[3][Microsoft Sql Server]取當(dāng)前時(shí)間用getdate等等...

三、語句

[Microsoft Sql Server]可以用

 
 
 
  1. CASE  
  2. WHEN THEN  
  3. WHEN THEN  
  4. ...  
  5. ELSE  
  6. END  

語句,而[Microsoft Access]不支持。[Microsoft Access]也不支持between語句,[Microsoft Sql Server]則可以這樣寫:[date] between @date1 and @date2。

四、查詢表

[Microsoft Sql Server]可三個(gè)及以上表join查詢,而[Microsoft Access]好像只能兩個(gè)表聯(lián)接查詢(待權(quán)威確認(rèn)),而且[Microsoft Sql Server]可用“*=”和“=*”連接符。

五、除零問題

[Microsoft Access]在碰到除數(shù)為零時(shí),自動(dòng)丟掉相關(guān)記錄,而[Microsoft Sql Server]則會(huì)報(bào)錯(cuò),且查詢中止。刪除代碼:[Microsoft Access]可以這樣寫:delete * from [table],[Microsoft SQL Server]只能這樣寫:delete from [table]多*會(huì)報(bào)錯(cuò)。

當(dāng)前日期:[Microsoft Access]用date(),[Microsoft SQL Server],用getdate()如果數(shù)據(jù)庫可能會(huì)更換類型的話,可以在ASP代碼中加上如這樣:

 
 
 
  1. if inStr(constr,"Microsoft Access") > 0 then   
  2. sqlstr=[Microsoft Access][sql代碼]  
  3. else  
  4. sqlstr=[Microsoft Sql Server][sql代碼]  
  5. end if 

 

這樣即使改了數(shù)據(jù)庫,也不用改數(shù)據(jù)庫查詢更新代碼了。再加:access中有true、false的字段記錄,而sql里只有smallint,對(duì)應(yīng)如果在access里有“字段名=true”的,在sql里要改成“字段名=1” ,網(wǎng)上大部分的免費(fèi)asp程序使用的是access數(shù)據(jù)庫。但是access數(shù)據(jù)庫作為一個(gè)中小型的單機(jī)數(shù)據(jù)庫系統(tǒng),在承擔(dān)訪問量、數(shù)據(jù)量大的網(wǎng)站應(yīng)用時(shí),往往就不堪重負(fù)了。

一般認(rèn)為,超過50M的access數(shù)據(jù)庫性能就開始明顯下降,超過100M以后,出錯(cuò)、運(yùn)行慢的問題會(huì)更加突出。盡管可以如動(dòng)網(wǎng)7.0以后那樣,從程序的角度盡量優(yōu)化以圖提高性能,但是不能從根本上解決問題。這時(shí)也許使用微軟的SQL Server數(shù)據(jù)庫就是最可能的辦法,當(dāng)然也可以使用其它的如Oracle、MySQL等等,但是作為改寫來說,由于同為微軟的產(chǎn)品,改寫成SQL Server應(yīng)該是最省力的辦法。

關(guān)于SQL Server與Access數(shù)據(jù)庫ASP代碼的比較的相關(guān)知識(shí)就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!


當(dāng)前題目:SQLServer與Access數(shù)據(jù)庫ASP代碼的比較詳解
標(biāo)題URL:http://m.5511xx.com/article/cooipjc.html