国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
ASP.NET 2.0輕松實現(xiàn)數(shù)據(jù)庫應用開發(fā)

ASP.NET 2.0輕松實現(xiàn)數(shù)據(jù)庫應用開發(fā)

前言

  第一次使用ASP.NET 2.0就被它強大的功能和超高的效率所吸引,原本繁雜的過程被簡化到無法置信的容易,而且據(jù)微軟的所言12月中文版的VS2005正式版將給我們帶來更強勁的風暴。對ASP.NET 2.0逐漸深入后,便產(chǎn)生了想把自己學習中發(fā)現(xiàn)的問題和體會與大家交流,遂有此文。聲明:本文所有演示示例均基于Visual Web Developer 2005 Express Beta2,Visual Web Developer 2005 Express Edition Beta2 是一種簡便的、易學易用的開發(fā)工具,其重點專注于互聯(lián)網(wǎng)應用開發(fā)。

  1.ASP.NET 2.0數(shù)據(jù)庫開發(fā)的新特性:

  與以前的版本相比,ASP.NET 2.0加入了更多的特性,使得開發(fā)人員工作效率、管理、擴展性和性能領(lǐng)域均有了大幅度的提高。

  在開發(fā)效率上,ASP.NET 2.0使得一個典型的WEB應用程序的代碼量基本上減少了70%,甚至在一些簡單的程序中無須編寫任何代碼就可以實現(xiàn)你所要求的功能,既所謂的"0代碼"。這是因為ASP.NET 2.0 將常用的 Web 任務封裝到應用程序服務和控件中,這些服務和控件可方便地在網(wǎng)站之間重用。利用這些基本生成塊,較之以前的版本,現(xiàn)在實現(xiàn)許多應用所需的自定義代碼要少得多。

  同時在ASP.NET 2.0 引入了許多新的服務器控件,能夠為數(shù)據(jù)訪問、登錄安全、向?qū)Ш?、菜單、樹視圖、門戶等提供功能強大的聲明性支持。這些控件中,許多都利用了 ASP.NET 的核心應用程序服務,用于數(shù)據(jù)訪問、成員資格與角色,以及個性化設置等方案。

  2.0 版中的新增功能如下:

  · 數(shù)據(jù)源控件 -- ASP.NET 2.0 引入了聲明性數(shù)據(jù)源控件,這些控件向頁上的數(shù)據(jù)綁定 UI 控件公開來自后端存儲(例如 SQL 數(shù)據(jù)庫、中間層業(yè)務對象或 XML 文件)的數(shù)據(jù)。數(shù)據(jù)源控件還公開諸如排序、分頁、緩存、更新、插入和刪除數(shù)據(jù)等功能,UI 控件能夠自動利用這些功能而無需代碼。

  · 新的數(shù)據(jù)綁定控件 -- 除 ASP.NET 1.x 版中的數(shù)據(jù)綁定控件外,ASP.NET 還包括諸如 GridView、DetailsView、FormView、TreeView 和 Menu 等新的數(shù)據(jù)綁定 UI 控件,可以自定義這些控件以各種格式顯示數(shù)據(jù)。GridView、DetailsView 和 FormView 控件還能自動利用數(shù)據(jù)源功能,使得向數(shù)據(jù)驅(qū)動頁添加排序、分頁和更新操作非常容易。

  · 數(shù)據(jù)控件參數(shù) -- 數(shù)據(jù)源能夠使用 ASP.NET 2.0 中新的數(shù)據(jù)控件參數(shù)對象從各種來源接受輸入?yún)?shù)。使用這些參數(shù)對象可以輕松地向參數(shù)化數(shù)據(jù)操作提供服務器控件屬性值、會話、應用程序、Cookie 和 querystring 字段以及用戶配置文件屬性。使用這些參數(shù),只需很少的自定義代碼或無需自定義代碼就能支持篩選和主/詳細信息方案。

  · 改進的數(shù)據(jù)綁定語法 -- 對于在數(shù)據(jù)綁定模板中綁定控件的常見方案,ASP.NET 中的 DataBinder.Eval 數(shù)據(jù)綁定語法已得到簡化。還可以在模板中將雙向數(shù)據(jù)綁定與控件屬性關(guān)聯(lián),以允許自動將值傳遞給數(shù)據(jù)源更新、插入或刪除操作。對于分層的 XML 數(shù)據(jù),ASP.NET 2.0 還包含一種基于 Xpath 的數(shù)據(jù)綁定語法。

  · 使用 SQL Express 的本地文件數(shù)據(jù)庫 -- 為簡化開發(fā),ASP.NET 2.0 現(xiàn)在支持在應用程序中連接到作為本地文件的 SQL Express 數(shù)據(jù)庫的能力,從而消除僅為了執(zhí)行開發(fā)工作而向服務器提供數(shù)據(jù)庫的需要。當然,您仍然能夠連接到基于服務器的 SQL 數(shù)據(jù)庫。

  下面是一些重要的數(shù)據(jù)綁定控件和數(shù)據(jù)源控件的詳細的介紹:

  ·GridView:

  這是ASP.NET 2.0中的一個新的數(shù)據(jù)綁定控件,它是ASP.NET 1.x中的DataGrid控件的后續(xù)繼承,并且在其基礎上做了許多改進。盡管在ASP.NET 1.x中DataGrid控件已經(jīng)可以滿足開發(fā)者通過代碼來處理一些操作,像排序,分頁,編輯及刪除數(shù)據(jù)等。但是GridViwe控件綁定到數(shù)據(jù)源控件時,它就可以自動進行排序,分頁,編輯及刪除數(shù)據(jù)的一系列處理。在功能上GridViwe控件也超越了DataGrid控件,GridViwe控件可以支持多個關(guān)鍵字段,在UI界面上有了強大的用戶定制功能,而且它還給開發(fā)者提供了一個新的取消和處理事件的模型。

  ·SqlDataSource:

  SqlDataSource控件代表一個通過ADO.NET連接到SQL數(shù)據(jù)庫提供者的數(shù)據(jù)源控件。就像其他的數(shù)據(jù)源控件一樣,SqlDataSource控件可以被綁定到任何支持DataSourceID屬性的數(shù)據(jù)綁定控件上。同時SqlDataSource擁有自我描述的能力(例如選擇,插入,更新,刪除,排序等),以至數(shù)據(jù)綁定控件可以在這些能力被允許的情況下自動的實現(xiàn)選擇,插入,更新,刪除,排序等過程。SqlDataSource控件可以讓你在創(chuàng)建數(shù)據(jù)庫連接和實現(xiàn)查詢時取代以前所需的大量ADO.NET代碼,這是因為這些數(shù)據(jù)的查詢操作已經(jīng)直接被指定為該數(shù)據(jù)源控件的一個屬性。因為數(shù)據(jù)的查詢依然存在于頁面的代碼中,有時候我們也稱這是一種雙重模型。

  SqlDataSource控件通常主要是針對一些不太需要查詢大量數(shù)據(jù)庫小型的和個人站點,當我們進行一個數(shù)據(jù)流量較大的網(wǎng)站開發(fā),我們就必須使用后面的ObjectDataSource控件,這是一個綁定到中間層對象的針對大型企業(yè)開發(fā)的數(shù)據(jù)源控件。

數(shù)據(jù)源控件

  數(shù)據(jù)源控件沒有呈現(xiàn)形式,而是表示特定的后端數(shù)據(jù)存儲,例如數(shù)據(jù)庫、業(yè)務對象、XML 文件或 XML Web services。數(shù)據(jù)源控件還支持針對數(shù)據(jù)的豐富功能(例如排序、分頁、篩選、更新、刪除和插入),數(shù)據(jù)綁定 UI 控件能夠自動使用這些功能。ASP.NET 2.0 包括以下現(xiàn)成的服務器控件:

名稱說明
SqlDataSource 支持綁定到 ADO.NET 提供程序(例如 Microsoft? SQL Server、OLEDB、ODBC 或 Oracle。)表示的 SQL 數(shù)據(jù)庫。
ObjectDataSource支持綁定到中間層對象,例如數(shù)據(jù)訪問層或業(yè)務組件。
AccessDataSource 支持綁定到 Microsoft? Access (Jet) 數(shù)據(jù)庫。
SiteMapDataSource 支持綁定到 ASP.NET 2.0 站點導航提供程序公開的層次結(jié)構(gòu)。
XmlDataSource 支持綁定到 XML 文件或文檔。

  數(shù)據(jù)綁定控件

  數(shù)據(jù)綁定控件是將數(shù)據(jù)作為標記向發(fā)出請求的客戶端設備或瀏覽器呈現(xiàn)的 UI 控件。數(shù)據(jù)綁定控件能夠自動綁定到從數(shù)據(jù)源公開的數(shù)據(jù),并在頁請求生命周期中的適當時間獲取數(shù)據(jù)。這些控件還可以選擇利用數(shù)據(jù)源功能,例如排序、分頁、篩選、更新、刪除和插入。數(shù)據(jù)綁定控件通過其 DataSourceID 屬性連接到數(shù)據(jù)源控件。您可能熟悉 ASP.NET 1.x 版中的一些數(shù)據(jù)綁定控件,例如 DataGrid、DataList、Repeater 和諸如 DropDownList 這樣的列表控件。ASP.NET 2.0 還包含幾個新的數(shù)據(jù)綁定控件,例如:

名稱說明
GridView 以網(wǎng)格格式呈現(xiàn)數(shù)據(jù)。此控件是 DataGrid 控件的演變形式,并且能夠自動利用數(shù)據(jù)源功能。
DetailsView 在標簽/值對的表格中呈現(xiàn)單個數(shù)據(jù)項,類似于 Microsoft? Access 中的窗體視圖。此控件也能自動利用數(shù)據(jù)源功能。
FormView 在由自定義模板定義的窗體中一次呈現(xiàn)單個數(shù)據(jù)項。在標簽/值對的表格中呈現(xiàn)單個數(shù)據(jù)項,類似于 Microsoft? Access 中的窗體視圖。此控件也能自動利用數(shù)據(jù)源功能。
TreeView在可展開的節(jié)點的分層樹視圖中呈現(xiàn)數(shù)據(jù)。
Menu在分層動態(tài)菜單(包括彈出式菜單)中呈現(xiàn)數(shù)據(jù).

  下面我們結(jié)合GridView和SqlDataSource兩個控件來實現(xiàn)一些最簡單的數(shù)據(jù)操作。我將給出一個詳細的例子,并且為大家進行詳細的講解。

  這是一個最簡單的僅包含只讀報表的數(shù)據(jù)驅(qū)動頁面,它顯示數(shù)據(jù)庫中的數(shù)據(jù),但并不允許我們?nèi)ジ钠渲械母鱾€數(shù)據(jù)項。首先我們必須設置好一個SqlDataSource控件,然后連接到一個數(shù)據(jù)庫綁定控件上,我們在這個示例中是用GridView,指定GridView的DataSourceID屬性為上面SqlDataSource。

  SQL Server 2000中Pubs數(shù)據(jù)庫的authors表,其結(jié)構(gòu)如下:


  SqlDataSource控件的ConnectionString屬性指定一個數(shù)據(jù)庫連接字符串,SelectCommand屬性是指定執(zhí)行檢索的數(shù)據(jù)庫命令。連接字符串可以在頁面代碼中直接指定,也可以采用一種新的表達式結(jié)構(gòu)在Web.config.中檢索數(shù)據(jù)庫連接字符串。

  第一步,在"工具箱"的"數(shù)據(jù)"項下拖拽一個"GridView"控件到主頁面上,放置鼠標到該控件上短暫的停留后,會出現(xiàn)一個小的標簽:


  第二步,我們打開下圖所示的"選擇數(shù)據(jù)源"的下拉列表:


  第三步:如果你還沒有設置任何的SqlDataSource,可以選擇"新建數(shù)據(jù)源"選項。出現(xiàn)如下圖的界面后:

  我們選擇"數(shù)據(jù)庫"作為我們的數(shù)據(jù)源。自動生成一個ID為"SqlDataSource1"的SqlDataSource數(shù)據(jù)源控件。

第四步:在主頁面生成了一個SqlDataSource數(shù)據(jù)源控件的同時,還顯示如下的窗口:


  點擊"新建連接"按鈕,顯示的窗體如下:


  "服務器名"為你本地的SQL Server上的一個實例,填寫好了,你就可以選擇2種登錄到服務器的方式:

  Windows驗證和SQL Server驗證兩種,它們的區(qū)別我將在后面進行詳細的講解。我們在這里先選擇Windows驗證的方式,在選擇"pubs"數(shù)據(jù)庫后點擊"測試連接"如果顯示連接成功后就表明我們已經(jīng)連接到SQL Server服務器上了。

  第五步:單擊"確定"按鈕后,將顯示"配置數(shù)據(jù)源"的窗體,我們選擇"hoowoo.pubs.dbo"作為我們將要連接的數(shù)據(jù)庫。

  第六步:由于我們希望將連接字符串保存到應用程序配置文件中,所以我們希望在web.config中保持這個連接字符串。在這里我們希望將連接字符串保存為一個別名:Pubs


  第七步:選擇下圖的"authors"表來選擇我們所需要的數(shù)據(jù),這里我們選擇了所有的字段。

完成上面的所以步驟后,我們在主頁面上的右鍵菜單上選擇"查看代碼",可以看到如下的代碼:

<%@ Page Language="C#" %>
<html>
  <head id="Head1" runat="server">
   <title>GridView Bound Fields</title>
  </head>
  <body>
   <form id="form1" runat="server">
    <asp:GridView ID="GridView1" DataSourceID="SqlDataSource1"AutoGenerateColumns="False" runat="server">
    <Columns>
     <asp:BoundField HeaderText="ID" DataField="au_id" ReadOnly="true" />
     <asp:BoundField HeaderText="Last Name" DataField="au_lname" />
     <asp:BoundField HeaderText="First Name" DataField="au_fname" />
     <asp:BoundField HeaderText="Phone" DataField="phone" />
     <asp:BoundField HeaderText="Address" DataField="address" />
     <asp:BoundField HeaderText="City" DataField="city" />
     <asp:BoundField HeaderText="State" DataField="state" />
     <asp:BoundField HeaderText="Zip Code" DataField="zip" />
     <asp:CheckBoxField HeaderText="Contract" DataField="contract" />
    </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" SelectCommand="SELECT [au_id], [au_lname], [au_fname], [phone],[address],[city], [state], [zip], [contract] FROM [authors]" ConnectionString="<%$ ConnectionStrings:Pubs %>" />
   </form>
  </body>
</html>

  Web.Config中的代碼如下:

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings/>
<connectionStrings>
<add name="Pubs" connectionString="Data Source=hoowoo;Initial Catalog=pubs;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="false"/>
<authentication mode="Windows"/>
</system.web>
</configuration>

  現(xiàn)在來重點分析這些代碼的意義:

"<asp:GridView ID="GridView1" DataSourceID="SqlDataSource1"
AutoGenerateColumns="False" runat="server">"

  數(shù)據(jù)綁定控件通過其 DataSourceID 屬性連接到數(shù)據(jù)源控件,從而我們可以進行排序、分頁、篩選、更新、刪除和插入等一系列的操作。

"<Columns>
<asp:BoundField HeaderText="ID" DataField="au_id" ReadOnly="true" />
<asp:BoundField HeaderText="Last Name" DataField="au_lname" />
<asp:BoundField HeaderText="First Name" DataField="au_fname" />
<asp:BoundField HeaderText="Phone" DataField="phone" />
<asp:BoundField HeaderText="Address" DataField="address" />
<asp:BoundField HeaderText="City" DataField="city" />
<asp:BoundField HeaderText="State" DataField="state" />
<asp:BoundField HeaderText="Zip Code" DataField="zip" />
<asp:CheckBoxField HeaderText="Contract" DataField="contract" />
</Columns>"

  "BoundField"和"CheckBoxField"均為要綁定的控件類型,"HeaderText"是將要顯示在表格上字段的名稱,而"DataField"則是我們要進行綁定的數(shù)據(jù)字段。

<asp:SqlDataSource ID="SqlDataSource1" runat="server"
SelectCommand="SELECT [au_id], [au_lname], [au_fname],
[phone],[address],[city], [state], [zip], [contract] FROM [authors]"
ConnectionString="<%$ ConnectionStrings:Pubs %>" />

  SqlDataSource控件中我們設置了數(shù)據(jù)庫的SelectCommand命令為"SELECT [au_id],[au_lname],[au_fname],[phone],[address] [city], [state], [zip], [contract] FROM [authors]"這正好和GridView所要綁定的控件一一對應,這充分說明了數(shù)據(jù)綁定控件和數(shù)據(jù)源控件的緊密聯(lián)系。

  細心的讀者可能會奇怪了,ConnectionString="<%$ ConnectionStrings:Pubs %>在SqlDataSource是表示什么呢?這個問題就和我們?yōu)槭裁葱枰猈eb.Config配置文件有很大的關(guān)聯(lián)了。Web.Config中設置了如下的節(jié)點:

<connectionStrings>
<add name="Pubs" connectionString="Data Source=hoowoo;Initial Catalog=pubs;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

  我們可以通過檢索Web.Config配置文件來取得數(shù)據(jù)庫連接字符串別名"Pubs"的真正的含義是
"Data Source=hoowoo;Initial Catalog=pubs;Integrated Security=True" providerName="System.Data.SqlClient" Initial Catalog表明我們使用的是"pubs"數(shù)據(jù)庫。Integrated Security說明了我們采用的是Windows驗證方式。

  最后的顯示如下:


本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
asp.net ajax 技巧--datagrid嵌套gridview
ASP.NET中GridView控件ButtonField的使用
GridView 72般絕技
點擊textbox彈出模態(tài)窗口,選擇后返回主頁面并賦值textbox
ASP.NET查詢ACCESS數(shù)據(jù)庫的內(nèi)容并在DATAVIEW中顯示出來
GridView模版列嵌套GirdView顯示主從表數(shù)據(jù) - №.零零伍 - 博客園
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服