從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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ASP.NET Core 2.2 遷移至 3.0 備忘錄ASP.NET
- 全網最硬核的Element-UI從Vue-cli遷移至Vite(二)UIVueVite
- 部落格從 CloudBase 遷移至雲主機Cloud
- 我考慮的是來看考慮考慮勞福德
- 如何從自建MySQL遷移至阿里雲RDS for MySQL的教程MySql阿里
- 記錄 WSL 從 C 盤遷移至 D 盤
- 遷移資料庫資料考慮問題資料庫
- 在考慮繼續堅持現有崗位,還是考慮轉崗
- Hadoop Hive遷移至MaxComputeHadoopHive
- 從 Ionic1 遷移至 Ionic2 基本說明
- 從實施混合雲到選擇資料遷移策略,需要考慮哪些因素?
- 大曝光!從RabbitMQ平滑遷移至Kafka架構設計方案!MQKafka架構
- utf-8 不用考慮位元組序(轉)
- ESXI 遷移至KVM (V2V遷移)
- 全網最硬核的Ant-Design-Vue從Vue-cli遷移至ViteVueVite
- 本部落格已遷移至Wordpress~
- 【RMAN】Oracle使用rman將11.2.0.4資料庫遷移至Oracle12c命令參考Oracle資料庫
- 建設智慧城市,需要從哪幾方面考慮?
- SmartDialog遷移至4.0:一份真誠的遷移說明
- 輕鬆上雲系列之二:其他雲資料遷移至阿里雲阿里
- Jenkins從Ubuntu遷移至AlmaLinux問題及相關解決記錄JenkinsUbuntuLinux
- 應用遷移至 Android P 操作指南Android
- MSSQL Server 遷移至 ORACLE解決方案SQLServerOracle
- 從ui圖到開發頁面該有的考慮UI
- 初學Linux最初選擇系統參考Linux
- 【恩墨學院】從商用到開源:DB2遷移至MySQL的最佳實踐DB2MySql
- .NET平臺系列25:從 ASP.NET 遷移到 ASP.NET Core 的技術指南ASP.NET
- Windows 遷移至 Linux(debian12) 實驗WindowsLinux
- 資料檔案遷移至其他磁碟組
- 女生轉行IT和男生要考慮的問題有哪些不一樣?
- PVE虛擬機器遷移至VMware平臺虛擬機
- WSL子系統檔案遷移至其他磁碟
- 考慮時區了嗎?
- 【轉】全面的告訴你專案的安全性控制需要考慮的方面
- SQL Server 遷移至MySQL 關鍵步驟的梳理總結ServerMySql
- 女生轉行IT和男生要考慮的問題有什麼不一樣?
- 挑選合適的電話機器人要從哪些方面考慮?機器人
- 想轉行IT要考慮什麼?零基礎學習linuxLinux
- 將ERP系統遷移至雲端具有哪些作用