国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

asp向asp.net應用程序的轉變過程

2019-11-18 19:27:45
字體:
來源:轉載
供稿:網友

      下面示例中的第一個代碼塊對于某類 asp 應用程序是很典型的,該類應用程序使用 ADO 讀取和操作從單個 SQL 查詢返回的記錄集。它使用 ADO Recordset 對象讀取從用 Microsoft access 提供的 Northwind 示例數據庫返回的數據記錄。這些代碼將包含在具有 .asp 文件擴展名的文件中。
[Visual Basic]
<%@LANGUAGE=VBSCRipT%>
<!
This ASP example uses ADO to read records from a database and PRint two
fields from all returned records to an ASP page. Connection to the Northwind database is through an ODBC system data source (DSN.
>
<html>
<body>
<%
   dim ADOconn, ADOrs, sqlstr
   sqlstr="SELECT * FROM Employees;"
   set ADOconn = Server.CreateObject("ADODB.Connection")
   ADOconn.Open "DSN = Test"
   set ADOrs = ADOconn.execute(sqlstr)
   if ADOrs.BOF and ADOrs.EOF then ' Query didn't return any records.
      Response.Write("No Records.")
   else
      ADOrs.MoveFirst
      Do While Not ADOrs.EOF
         Response.Write(ADOrs("FirstName") & " " _
            & ADOrs("LastName") & "<br>")
         ADOrs.MoveNext
      Loop
      Response.Write("<p>End of data.")  
   end if
   ADOrs.close
   set ADOrs = nothing
%>
</body>
</html>

 

下面的示例闡釋將前面示例轉換為 asp.net 應用程序所需的最低程度的更改。為了符合新的 Visual Basic 語法,大多數的更改都是必要的。此文件可以用 .aspx 文件擴展名重命名,并且將與 ASP.NET 一起運行。修改后的代碼行以粗體顯示。注意,在第一行上添加了具有 aspcompat=true 屬性的 <%@ Page > 指令。


[Visual Basic]
<%@Page aspcompat=true Language = VB%>
<!
This example uses ADO to read records from a database and print two
fields from all records in the database to an ASP.NET page.
The database is located on the server and connection is through an ODBC system data source (DSN.
>
<html>
<body>
<%
   dim objConn, rs, sqlstr
   sqlstr="SELECT * FROM Employees;"
   objConn = Server.CreateObject("ADODB.Connection") ' Set removed.
   objConn.Open("DSN=TEST") ' Parentheses added.
   rs = objConn.execute(sqlstr) ' Set statement removed.
   Response.Write("<p>ADO Test</p>")

   if rs.BOF and rs.EOF then ' Query didn't return any records.
      Response.Write("No Records")
   else
      rs.MoveFirst
      Do While Not rs.EOF
         ' Specify Value property.
         Response.Write(rs("FirstName").Value _
            & " " & rs("LastName").Value & "<br>")
         rs.MoveNext
      Loop
      Response.Write("<p>End of data")
   end if
   rs.close
   rs = nothing ' Set statement removed.
%>

 


下一個示例是一個 ASP.NET 應用程序,該程序使用 ADO.NET 從與前面示例相同的 Northwind 數據庫讀取記錄。這些代碼生成的輸出等效于前面示例的輸出,而且已被修改以符合 ASP.NET 代碼塊約定。

該示例創建一個 ADO.NET DataSet 對象,在此情況下此對象包含一個數據表,而該數據表的使用方式與 ADO 記錄集的使用方式幾乎相同。請注意,數據集可以由一個或多個構成內存駐留數據庫的 DataTables、DataRelations 和 Constraints 的集合組成,因此 ADO.NET 數據集比 ADO 記錄集靈活得多。

為了使用 ADO.NET,需要導入 System.Data 和 System.Data.OleDb 命名空間。如果數據源是 SQL Server 數據庫,則導入 System.Data.SqlClient 命名空間而不是 System.Data.OleDb。有關使用 ADO 和 SQL .NET 數據提供程序的連接對象的詳細信息,請參見管理連接。

[Visual Basic]
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.OleDb"%>
<!
This example uses ADO.NET to read records from a database and print two
fields from all returned records to an ASP.NET page. The database
is located on the local server.
>
<html>
<Script Language=VB Runat=Server>
   Sub Page_Load(Sender As Object, e As EventArgs)
      Dim MyConnection As OleDbConnection
      Dim MyCommand As OleDbDataAdapter
      dim MyDataset As DataSet
      dim MyTable As DataTable
      dim loop1, numrows As Integer
      dim sqlstr As String
     
      sqlstr = "SELECT * FROM Employees;"
     
      ' Create a connection to the data source.
      MyConnection = New OleDbConnection("Provider=SQLOLEDB;" _
         & "server=localhost;"Integrated Security=SSPI;" _
         & "Initial Catalog=Northwind")

      ' Create a Command object with the SQL statement.
      MyCommand = New OleDbDataAdapter(sqlstr, MyConnection)

      ' Fill a DataSet with data returned from the database.
      MyDataset = New DataSet
      MyCommand.Fill(MyDataset)
     
      ' Create a new DataTable object and assign to it
      ' the new table in the Tables collection.
      MyTable = New DataTable
      MyTable = MyDataset.Tables(0)
      ' Find how many rows are in the Rows collection
      ' of the new DataTable object.
      numrows = MyTable.Rows.Count
       If numrows = 0 then
         Response.Write("<p>No records.</p>")
      Else
         Response.Write("<p>" & Cstr(numrows) & " records found.</p>")
         For loop1 = 0 To numrows - 1
            ' Print the values of the two columns in the Columns
            ' collection for each row.
            Response.Write(MyTable.Rows(loop1).Item("FirstName") _
               & " " & MyTable.Rows(loop1).Item("LastName") & "<br>")
         Next loop1
      End If
      Response.Write("<p>End of data.</p>")  
   End Sub
</Script>
</html>

在數據庫查詢(甚至是多表聯接查詢)返回單個記錄集的情況下,可以通過與使用 ADO 記錄集的方式幾乎相同的方式使用單個 DataTable(在此示例中為 MyTable)。

參考《NET  FRAMEWORK SDK文擋》


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凤台县| 靖江市| 宜阳县| 湘西| 类乌齐县| 永登县| 安阳市| 攀枝花市| 浮山县| 泌阳县| 凭祥市| 金阳县| 东宁县| 什邡市| 宜川县| 贵德县| 麻江县| 台州市| 锡林浩特市| 甘孜县| 镇江市| 成武县| 大宁县| 翁牛特旗| 安西县| 宝应县| 炎陵县| 民和| 大同市| 廊坊市| 盐城市| 蓬莱市| 将乐县| 攀枝花市| 无为县| 乌审旗| 同德县| 同德县| 桓仁| 吴桥县| 布尔津县|