溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SQLServer與Access數(shù)據(jù)庫ASP代碼有什么區(qū)別

發(fā)布時間:2021-08-18 20:29:01 來源:億速云 閱讀:131 作者:chen 欄目:數(shù)據(jù)庫

這篇文章主要講解了“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)注!

向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI