您好,登錄后才能下訂單哦!
這篇文章主要講解了“SQLServer與Access數(shù)據(jù)庫ASP代碼有什么區(qū)別”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“SQLServer與Access數(shù)據(jù)庫ASP代碼有什么區(qū)別”吧!
后臺數(shù)據(jù)庫:[MicrosoftAccess]與[MicrosoftSqlServer]更換之后,ASP代碼應注意要修改的一些地方:
一、連接問題(舉例)
[MicrosoftAccess]constr="DBQ=c:\data\clwz.mdb;DRIVER={MicrosoftAccessDriver(*.mdb)}"[MicrosoftSqlServer]constr="DRIVER={SQLServer};SERVER=host;DATABASE=mydata;uid=sa;pwd="
二、相似函數(shù)(舉例)
[1]DATEDIFF(datepart,startdate,enddate),其中“datepart”參數(shù)可選項如下:
設(shè)置描述————————————[MicrosoftAccess]年yyyy季度q月m一年的日數(shù)y日d一周的日數(shù)w周ww小時h分鐘n秒s[MicrosoftSqlServer]yearyy,yyyyquarterqq,qmonthmm,mdayofyeardy,ydaydd,dweekwk,wwhourhhminutemi,nsecondss,smillisecondms
基本上差不多,但注意的是在寫的時候,[MicrosoftAccess]要加引號,如:datediff('d',enddate,'2004/08/01'),[MicrosoftSqlServer]則不需要,如:datediff(d,enddate,'2004/08/01')
[2][MicrosoftAccess]中可用如cstr等轉(zhuǎn)數(shù)據(jù)類型函數(shù),而[MicrosoftSqlServer]中則用convert或cast函數(shù),如:convert(varchar,[amount])等。
[3][MicrosoftSqlServer]取當前時間用getdate等等...
SQLServer與Access數(shù)據(jù)庫ASP代碼的區(qū)別有哪些
三、語句
[MicrosoftSqlServer]可以用
CASEWHENTHENWHENTHEN...ELSEEND
語句,而[MicrosoftAccess]不支持。[MicrosoftAccess]也不支持between語句,[MicrosoftSqlServer]則可以這樣寫:[date]between@date1and@date2。
四、查詢表
[MicrosoftSqlServer]可三個及以上表join查詢,而[MicrosoftAccess]好像只能兩個表聯(lián)接查詢(待權(quán)威確認),而且[MicrosoftSqlServer]可用“*=”和“=*”連接符。
五、除零問題
[MicrosoftAccess]在碰到除數(shù)為零時,自動丟掉相關(guān)記錄,而[MicrosoftSqlServer]則會報錯,且查詢中止。刪除代碼:[MicrosoftAccess]可以這樣寫:delete*from[table],[MicrosoftSQLServer]只能這樣寫:deletefrom[table]多*會報錯。
當前日期:[MicrosoftAccess]用date(),[MicrosoftSQLServer],用getdate()假如數(shù)據(jù)庫可能會更換類型的話,可以在ASP代碼中加上如這樣:
ifinStr(constr,"MicrosoftAccess")>0thensqlstr=[MicrosoftAccess][sql代碼]elsesqlstr=[MicrosoftSqlServer][sql代碼]endif
這樣即使改了數(shù)據(jù)庫,也不用改數(shù)據(jù)庫查詢更新代碼了。再加:access中有true、false的字段記錄,而sql里只有smallint,對應假如在access里有“字段名=true”的,在sql里要改成“字段名=1”,網(wǎng)上大部分的免費asp程序使用的是access數(shù)據(jù)庫。但是access數(shù)據(jù)庫作為一個中小型的單機數(shù)據(jù)庫系統(tǒng),在承擔訪問量、數(shù)據(jù)量大的網(wǎng)站應用時,往往就不堪重負了。
一般認為,超過50M的access數(shù)據(jù)庫性能就開始明顯下降,超過100M以后,出錯、運行慢的問題會更加突出。盡管可以如動網(wǎng)7.0以后那樣,從程序的角度盡量優(yōu)化以圖提高性能,但是不能從根本上解決問題。這時也許使用微軟的SQLServer數(shù)據(jù)庫就是最可能的辦法,當然也可以使用其它的如Oracle、MySQL等等,但是作為改寫來說,由于同為微軟的產(chǎn)品,改寫成SQLServer應該是最省力的辦法。
感謝各位的閱讀,以上就是“SQLServer與Access數(shù)據(jù)庫ASP代碼有什么區(qū)別”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對SQLServer與Access數(shù)據(jù)庫ASP代碼有什么區(qū)別這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。