欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
ASP.NET操作數據庫的 ADO.NET
自若干年前推出開(kāi)放式數據庫連接 (ODBC) 應用程序編程接口 (API) 以來(lái),出現了各種各樣的數據庫訪(fǎng)問(wèn)技術(shù),而 ADO.NET 是其中最新的一種。在這過(guò)程中,發(fā)生了許多有趣的事。例如,COM 闖入數據庫領(lǐng)域,開(kāi)始培植 OLE DB 的殖民進(jìn)程。然后,大致相當于 OLE DB 自動(dòng)化版本的 ActiveX? Data Objects (ADO) 被選來(lái)統治 Windows? 數據庫開(kāi)發(fā)者的 Visual Basic? 和 ASP 社區。

  通過(guò) .NET,Microsoft 正在提供通用框架(即 Framework Class Library),其中將包括所有現有的 Windows API 甚至更多的內容。特別值得一提的是,它包括大量常用的庫,而這些庫現在需要通過(guò)各個(gè) COM 對象分別獲得。在這些庫中,您會(huì )發(fā)現 XML 和 ADO 對象模型,它們被集成到了叫做 ADO.NET 的類(lèi)子樹(shù)中。

  ADO.NET 事實(shí)上成為構建數據感知 .NET 應用程序的基礎。和 ADO 不同的是,ADO.NET 遵循更通用的原則,不那么專(zhuān)門(mén)面向數據庫。ADO.NET 集合了所有允許數據處理的類(lèi)。這些類(lèi)表示具有典型數據庫功能(如索引、排序和視圖)的數據容器對象。盡管 ADO.NET 是 .NET 數據庫應用程序的權威解決方案,但從總體設計上來(lái)看,它不象 ADO 模型那樣以數據庫為中心,這是 ADO.NET 的一大特點(diǎn)。

  ADO.NET 與 ADO 有很大差異。ADO.NET 是新的數據訪(fǎng)問(wèn)編程模型,需要開(kāi)發(fā)人員的全面理解、投入和新思維。然而,一旦開(kāi)始掌握 ADO.NET,您將意識到:原有的 ADO 技巧非常有助于您以不同、卻更巧妙和可靠的方式來(lái)創(chuàng )建有效的應用程序和解決各種老問(wèn)題。

 ?。ㄒ陨献g自 Microsoft .NET部一位官員的講話(huà))

  5.1 目前的ADO.net

  目前 ADO.NET 提供了兩種托管提供程序:一種用于 SQL Server 7.0 或更高版本,另一種用于其他所有您可能已經(jīng)安裝的 OLE DB 提供程序。在這兩種情況下您分別使用不同的類(lèi),但遵循相似的命名規則。除前綴外,名稱(chēng)都是相同的。前一種情況前綴為 SQL,后一種情況則是 ADO。

  <% @ Import Namespace="System.Data.ADO" %>
<% @ Import Namespace="System.Data.SQL" %>

  您應該使用 SQL 類(lèi)訪(fǎng)問(wèn) SQL Server 表,因為它們直接進(jìn)入數據庫服務(wù)器的內部 API,跳過(guò)了由 OLE DB 提供程序表示的中間層。ADO 類(lèi)是 OLE DB 提供程序上的 .NET 接口,它們使用 COM Interop 橋進(jìn)行工作。

  5.2 連接一個(gè)數據庫

  Dim myConnection As New
 SQLConnection("server=localhost;uid=sa;pwd=;database=pubs")
Dim myCommand As New
 SQLDataSetCommand("select * from Authors", myConnection)
或者
 SQLConnection myConnection = new SQLConnection();
 myConnection.DataSource = "localhost";
 myConnection.UserID = "sa";
 myConnection.Password = "";
 myConnection.ConnectionTimeout = 30;
 myConnection.Open();
 myConnection.Database = "pub";
 myConnection.IsolationLevel = IsolationLevel.ReadCommitted
 

  這里我們需要講述一下Connection的方法和屬性了。

  ConnectionTimeout超時(shí)

  DataBase 缺省數據庫

  DataSource DNS

  UserID 原來(lái)叫UID

  Password

  State 取得目前連接的狀態(tài)

  Open() 打開(kāi)

  Close() 關(guān)閉

  5.3 操作數據庫

  通過(guò)一個(gè)Command對象,我們才可以對數據庫進(jìn)行操作

  Dim myConnection As SQLConnection = New SQLConnection("server=localhost;uid=sa;
pwd=;database=pubs")
Dim myCommand As SQLCommand = New SQLCommand("select * from Authors", myConnection)
myConnection.Open()
Dim dr As New SQLDataReader
myCommand.Execute(dr)
...
myConnection.Close()
或者 這樣做
Dim myConnection As New SQLConnection("server=localhost;uid=sa;pwd=;database=pubs")
Dim mycommand As New SQLCommand( _
"UPDATE Authors SET phone='(800) 555-5555' WHERE au_id = '123-45-6789'", _
myConnection)
myCommand.ActiveConnection.Open()
myCommand.ExecuteNonQuery()
myCommand.ActiveConnection.Close()

  這些都是SQLCommand的標準用法,下面列出了Command的所有屬性和相關(guān)方法。

  ActiveConnection 取得或設置聯(lián)結Connections

  CommandText 執行的SQL語(yǔ)句或儲存過(guò)程(StoredProcedure)名

  CommandTimeout 超時(shí)

  CommandType Command操作的類(lèi)型(StoredProcedure,Text,TableDirect)三種,默認Text

  Parameters 操作儲存過(guò)程時(shí)使用

  Execute() 執行SQL語(yǔ)句或儲存過(guò)程

  ExecuteNonQuery() 同上,但無(wú)返回,或者說(shuō),只返回記錄的數量

  注意: 和ASP一樣,在運行完以后一定要注意關(guān)閉Connection,否則會(huì )很耗服務(wù)器資源的。

  5.4 數據的顯示

  在這節的講解前,我們先建立一個(gè)數據庫,名字叫 aspnet 然后里面有一張表user 結構如下:

uid username Email
1 User1 Mail1
2 User2 Mail2
3 User3 Mail3

  SQL 語(yǔ)句 Select * From User

  數據庫語(yǔ)句 server=localhost;uid=sa;pwd=;database=aspnet

  5.4.1 用 DataReader 方法顯示數據

  有兩種方法可以顯示數據 DataReader方法,和DataSet方法,而DataReader只能儲存查詢(xún)數據,我們先講用DataReader方法顯示

  <script language="VB" runat="server">
 Sub Page_Load(Src As Object, E As EventArgs)
  Dim MyConnection As SQLConnection =
     New SQLConnection("server=localhost;uid=sa;
               pwd=;database=aspnet")
  Dim MyCommand As SQLCommand =
     New SQLCommand("select * from User", MyConnection)
  MyConnection.Open()
  Dim DR As SQLDataReader
  MyCommand.Execute(DR)
  MyDataGrid.DataSource = DR
  MyDataGrid.DataBind()
  MyConnection.Close()
 End Sub
</script>
<ASP:DataGrid id="MyDataGrid" runat="server"
   Width="700"
   BackColor="#ccccff"
   BorderColor="black"
   ShowFooter="false"
   CellPadding=3
   CellSpacing="0"
   Font-Name="Verdana"
   Font-Size="8pt"
   HeaderStyle-BackColor="#aaaadd"
/>

  對于顯示的控制,大家可以復習一下前一講,數據的綁定,其實(shí)多聯(lián)系也是一種很好的方法。

  在定制顯示中,還有一種比較使用的方法,而不用綁定

  Dim DR As SQLDataReader

  DR["字段名"]的方法也可以取到數據

  5.4.2 用 DataSet 方法顯示數據

  用DataSet記錄的數據其實(shí)就是一個(gè)表,而對表的操作,只是對DataSet的操作,并沒(méi)有改變數據庫,而要到DataSet更新的時(shí)候,才完整的寫(xiě)入數據庫,這個(gè)往往是新手容易忽視的地方。

  <%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQL" %>
<html>
<script language="VB" runat="server">
 Sub Page_Load(Src As Object, E As EventArgs)
  Dim DS As DataSet
  Dim MyConnection As SQLConnection
  Dim MyCommand As SQLDataSetCommand
  
  MyConnection = New
   SQLConnection("server=localhost;uid=sa;pwd=;database=aspnet")
  MyCommand =
   New SQLDataSetCommand("select * from User",MyConnection)
  DS = new DataSet()
   ~~~初始化DataSet()
  MyCommand.FillDataSet(ds, "User")
   ~~~FillDataSet顧名思義把整個(gè)查詢(xún)內容儲存進(jìn)DataSet中
  MyDataGrid.DataSource=ds.Tables("User").DefaultView
  MyDataGrid.DataBind()
   ~~~綁定數據
 End Sub
</script>
<body>
?。糷3><font face="Verdana">
  Simple Select to a DataGrid Control
</font></h3>
<ASP:DataGrid id="MyDataGrid" runat="server"
  Width="700"
  BackColor="#ccccff"
  BorderColor="black"
  ShowFooter="false"
  CellPadding=3
  CellSpacing="0"
  Font-Name="Verdana"
  Font-Size="8pt"
  HeaderStyle-BackColor="#aaaadd"
  MaintainState="false"
/>
</body>
</html>

  5.5 數據的添加,修改,和刪除

  其實(shí)他們是在就是簡(jiǎn)單的不要再簡(jiǎn)單的東西。

  添加:

  DataRow dr=SQLDataSet.Tables["User"].NewRow();
dr["id"] = "4";
dr["username"] = "user4";
dr["Email"] = "mail4";
SQLDataSet.Tables.Rows.Add(dr);
修改:
SQLDataSet.Tables["user"].Rows[3]["username"]= "user5"
刪除:
SQLDataSet.Tables["user"].Rows[3].Delete()
修改完之后,必須更新數據庫
SQLCommand.Update(SQLDataSet, "user")

  5.6 關(guān)于顯示中的分頁(yè)問(wèn)題

  這個(gè)問(wèn)題,一再在論壇中給眾人提出過(guò),曾經(jīng)是ASP中,一個(gè)比較難解決的問(wèn)題,不過(guò)在A(yíng)SP.net中,只不過(guò)是DataGrid的一個(gè)屬性而已。

  AllowPaging="True" 是否支持分頁(yè)

  PageSize="10" 每頁(yè)顯示多少

  PagerStyle-HorizontalAlign="Left" 分頁(yè)顯示的定位

  完整的例子:

  <asp:DataGrid id="dataGrid1" runat="server"
  BorderColor="black"
  BorderWidth="1"
  GridLines="Both"
  CellPadding="3"
  CellSpacing="0"
  HeaderStyle-BackColor="#aaaadd"
  AllowPaging="True"
  PageSize="10"
  PagerStyle-HorizontalAlign="Left"/>

進(jìn)入討論組討論。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
C#實(shí)現對SQL數據庫中的表的查詢(xún)、添加、修改、刪除數據
數據庫開(kāi)發(fā)個(gè)人總結(ADO.NET) - ADO.NET教程 - 新客網(wǎng)
ASP.net連接SQL數據庫的源代碼
C#chart用法的幾個(gè)例子
簡(jiǎn)單的SQL Server數據庫數據讀取與數據操作
超時(shí)時(shí)間已到。在操作完成之前超時(shí)時(shí)間已過(guò)或服務(wù)器未響應_朝暉遠宜
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久