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