從ASP遷移至ASP+--最初的考慮(二) (轉)
從ASP遷移至ASP+--最初的考慮(二) (轉)[@more@]
作 者 : 雨晨
運用和在一個單獨模組中建立一個普遍性的連線相同的構想,我們建立了一個Pagelet。Pagelet使開發人員可以建立偽,偽控制元件和一樣可以用來顯示屬性,方法以及事件。我們的方案是:建立一個顯示ConnectTo方法的Pagelet,該方法返回一個ADOConnection物件(與ADO的語法稍有不同)。我們用下面的程式碼建立Pagelet,將它存為connect.c(副檔名錶明它是一個Pagelet)
< %@ Import Namespace="System.Data" %>
< %@ Import Namespace="System.Data.ADO" %>
< script language="VB" runat="server">
Public Function ConnectToDB() As ADOConnection
ConnectToDB = New ADOConnection("DSN=evilleDSN")
End Function
< /script>
你會注意到我們匯入了兩個Namespaces,即System.Data和System.Data.ADO。為了使用ADO+ Managed Provr這些Namespaces是必須的。許多人就此問了我許多問題,因為目前多數示例都使用基於 SERVER 2000的SQL Managed Provider。對於非 資料庫,ASP+可以使用ADO+ Managed Provider,這和目前你在中使用ADO的方式大致相同。匯入Namespaces和在VB程式中建立參考(Reference)有異曲同工之妙。
Pagelet的運用使我可以維護當前的站點計劃,一旦在模組中建立了連線,我們就可在任何需要的地方重用模組。這意味著我們需要用Pagelet的一個例項來替代Include指令,然後當我們需要資料庫連線時ConnectToDB方法。在需要使用Pagelet的頁面中,我們首先必須使用ASP+指令將之與該頁面註冊(register)。在指令中,我們定義TagPrefix,TagName,以及(src)。與ASP中的include檔案類似,在我們放置Pagelet的地方要用到TagPrefix和TagName。
< %@ Register TagPrefix="seven" TagName="Connect"
src="_includes/connect.aspc" %>
放置我們剛註冊的Pagelet的方法與ASP+控制元件類似:
< [TagPrefix]:[TagName] id=myPagelet runat=server />
比如:
< seven:Connect id=Connect runat=server />
在ADO+中,記錄集(Recordset)的概念被DataSets和DataViews的組合所取代。一會兒我們將討論這兩個概念。首先讓我們看看在default.asp頁面遷移至default.(ASP+頁面的字尾)後程式碼都有了哪些改變。先看default.asp:
< !-- #include file="_includes/connect.inc" -->
< %
Dim cnEville_DB, rsUpcoming, strSqlUpcoming
Set rsUpcoming = Server.Create("ADODB.Recordset")
strSqlUpcoming = " TOP 2 " & _
"Classes.Title, Sessions.Session_ID, " & _
"Sessions.Special, Classes.Description " & _
"FROM Classes INNER JOIN Sessions ON " & _
"Classes.Class_ID = Sessions.ClassID " & _
"WHERE (((Sessions.Date)>Date())) " & _
"ORDER BY Sessions.Date"
rsUpcoming.Open strSqlUpcoming,cnEville_DB
%>
在ASP+中成了default.aspx:
< %@ Import Namespace="System.Data" %>
< %@ Import Namespace="System.Data.ADO" %>
< %@ Register TagPrefix="seven" TagName="Connect" &_
src="_includes/connect.aspc" %>
< script language="vb" runat=server>
Sub Page_Load(Source As Object, E As EventArgs)
Dim dscUpcoming As ADODataSetCommand
Dim dsUpcoming As New DataSet
Dim strSQL As String
strSQL = "SELECT TOP 2 Classes.Title," & _
"Sessions.Session_ID, Classes.Description " & _
"FROM Classes INNER JOIN Sessions ON " & _
"Classes.Class_ID = Sessions.ClassID " & _
"WHERE (((Sessions.Date)>Date())) " & _
"ORDER BY Sessions.Date"
dscUpcoming = New ADODataSetCommand(strSQL, Connect.ConnectToDB())
dscUpcoming.FillDataSet(dsUpcoming, "Upcoming")
End Sub
< /script>
資料訪問的核心,ANSI-SQL語句在轉換後沒有什麼改變。然而正如你所看到的,建立記錄集的結構發生了改變,我們使用的是ADODataSetCommand和DataSet。
最初的考慮(二)
作 者 : 雨晨
運用和在一個單獨模組中建立一個普遍性的連線相同的構想,我們建立了一個Pagelet。Pagelet使開發人員可以建立偽,偽控制元件和一樣可以用來顯示屬性,方法以及事件。我們的方案是:建立一個顯示ConnectTo方法的Pagelet,該方法返回一個ADOConnection物件(與ADO的語法稍有不同)。我們用下面的程式碼建立Pagelet,將它存為connect.c(副檔名錶明它是一個Pagelet)
< %@ Import Namespace="System.Data" %>
< %@ Import Namespace="System.Data.ADO" %>
< script language="VB" runat="server">
Public Function ConnectToDB() As ADOConnection
ConnectToDB = New ADOConnection("DSN=evilleDSN")
End Function
< /script>
你會注意到我們匯入了兩個Namespaces,即System.Data和System.Data.ADO。為了使用ADO+ Managed Provr這些Namespaces是必須的。許多人就此問了我許多問題,因為目前多數示例都使用基於 SERVER 2000的SQL Managed Provider。對於非 資料庫,ASP+可以使用ADO+ Managed Provider,這和目前你在中使用ADO的方式大致相同。匯入Namespaces和在VB程式中建立參考(Reference)有異曲同工之妙。
Pagelet的運用使我可以維護當前的站點計劃,一旦在模組中建立了連線,我們就可在任何需要的地方重用模組。這意味著我們需要用Pagelet的一個例項來替代Include指令,然後當我們需要資料庫連線時ConnectToDB方法。在需要使用Pagelet的頁面中,我們首先必須使用ASP+指令將之與該頁面註冊(register)。在指令中,我們定義TagPrefix,TagName,以及(src)。與ASP中的include檔案類似,在我們放置Pagelet的地方要用到TagPrefix和TagName。
< %@ Register TagPrefix="seven" TagName="Connect"
src="_includes/connect.aspc" %>
放置我們剛註冊的Pagelet的方法與ASP+控制元件類似:
< [TagPrefix]:[TagName] id=myPagelet runat=server />
比如:
< seven:Connect id=Connect runat=server />
在ADO+中,記錄集(Recordset)的概念被DataSets和DataViews的組合所取代。一會兒我們將討論這兩個概念。首先讓我們看看在default.asp頁面遷移至default.(ASP+頁面的字尾)後程式碼都有了哪些改變。先看default.asp:
< !-- #include file="_includes/connect.inc" -->
< %
Dim cnEville_DB, rsUpcoming, strSqlUpcoming
Set rsUpcoming = Server.Create("ADODB.Recordset")
strSqlUpcoming = " TOP 2 " & _
"Classes.Title, Sessions.Session_ID, " & _
"Sessions.Special, Classes.Description " & _
"FROM Classes INNER JOIN Sessions ON " & _
"Classes.Class_ID = Sessions.ClassID " & _
"WHERE (((Sessions.Date)>Date())) " & _
"ORDER BY Sessions.Date"
rsUpcoming.Open strSqlUpcoming,cnEville_DB
%>
在ASP+中成了default.aspx:
< %@ Import Namespace="System.Data" %>
< %@ Import Namespace="System.Data.ADO" %>
< %@ Register TagPrefix="seven" TagName="Connect" &_
src="_includes/connect.aspc" %>
< script language="vb" runat=server>
Sub Page_Load(Source As Object, E As EventArgs)
Dim dscUpcoming As ADODataSetCommand
Dim dsUpcoming As New DataSet
Dim strSQL As String
strSQL = "SELECT TOP 2 Classes.Title," & _
"Sessions.Session_ID, Classes.Description " & _
"FROM Classes INNER JOIN Sessions ON " & _
"Classes.Class_ID = Sessions.ClassID " & _
"WHERE (((Sessions.Date)>Date())) " & _
"ORDER BY Sessions.Date"
dscUpcoming = New ADODataSetCommand(strSQL, Connect.ConnectToDB())
dscUpcoming.FillDataSet(dsUpcoming, "Upcoming")
End Sub
< /script>
資料訪問的核心,ANSI-SQL語句在轉換後沒有什麼改變。然而正如你所看到的,建立記錄集的結構發生了改變,我們使用的是ADODataSetCommand和DataSet。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-976321/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在Linux中從隱藏密碼遷移至tcb(轉)Linux密碼
- 全網最硬核的Element-UI從Vue-cli遷移至Vite(二)UIVueVite
- ASP.NET Core 2.2 遷移至 3.0 備忘錄ASP.NET
- 資料遷移中需要考慮的問題
- 一種遷移式升級的方案考慮
- 部落格從 CloudBase 遷移至雲主機Cloud
- 從另一個考慮來看程式碼的風格 (轉)
- 記錄 WSL 從 C 盤遷移至 D 盤
- SQL Server索引優化系列之二:索引效能考慮 (轉)SQLServer索引優化
- 遷移資料庫資料考慮問題資料庫
- 如何從自建MySQL遷移至阿里雲RDS for MySQL的教程MySql阿里
- 在考慮繼續堅持現有崗位,還是考慮轉崗
- 專案經理對成本的考慮(轉)
- 從實施混合雲到選擇資料遷移策略,需要考慮哪些因素?
- 從 Ionic1 遷移至 Ionic2 基本說明
- 在Linux中從隱藏密碼遷移至tcbLinux密碼
- Oracle資料遷移至MySQLOracleMySql
- 大曝光!從RabbitMQ平滑遷移至Kafka架構設計方案!MQKafka架構
- 建設智慧城市,需要從哪幾方面考慮?
- ESXI 遷移至KVM (V2V遷移)
- Hadoop Hive遷移至MaxComputeHadoopHive
- 【Mysql】Mysql遷移至postgrepsqlMySql
- virtualbox遷移至vcenter/vmware workstation
- 資料庫遷移至+ASM中資料庫
- 將blog遷移至MSN Space
- 本部落格已遷移至Wordpress~
- 全網最硬核的Ant-Design-Vue從Vue-cli遷移至ViteVueVite
- 從ui圖到開發頁面該有的考慮UI
- 對專案任務分配給與周密的考慮(轉)
- MSSQL Server 遷移至 ORACLE解決方案SQLServerOracle
- 將表遷移至其他表空間
- 【RMAN】Oracle使用rman將11.2.0.4資料庫遷移至Oracle12c命令參考Oracle資料庫
- 初學Linux最初選擇系統參考Linux
- SmartDialog遷移至4.0:一份真誠的遷移說明
- 輕鬆上雲系列之二:其他雲資料遷移至阿里雲阿里
- Sql server 2005遷移至Oracle系列之二:生成儲存過程SQLServerOracle儲存過程
- 請站在使用者的角度考慮系統恢復(轉)
- MongoDB分片需要考慮的事項MongoDB