Asp.net中GridView詳解《轉》

 ASP.NET服務器控件GridView

1         ASP.NET 服務器控件GridView使用html

本教程不介紹服務器端控件的呈現,事件處理,狀態等理論知識,只介紹服務器端控件的使用操做,若是您對服務器控件的知識感興趣,請參閱《ASP.NET服務器控件高級編程》web

閱讀本文時最好和 文檔 《ASP.NET服務器控件使用之GridView數據源ObjectDataSource》http://blog.csdn.net/huc87/archive/2009/03/17/3998185.aspx一塊兒閱讀。sql

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※數據庫

 

1.1         GridView概述express

顯示錶格數據是軟件開發中的一個週期性任務。ASP.NET 提供了許多工具來在網格中顯示錶格數據,例如 GridView 控件。經過使用 GridView 控件,您能夠顯示、編輯和刪除多種不一樣的數據源(例如數據庫、XML 文件和公開數據的業務對象)中的數據。編程

可使用 GridView 來完成如下操做:服務器

  • 經過數據源控件自動綁定和顯示數據。
  • 經過數據源控件對數據進行選擇、排序、分頁、編輯和刪除。

另外,還能夠經過如下方式自定義 GridView 控件的外觀和行爲:oracle

  • 指定自定義列和樣式。
  • 利用模板建立自定義用戶界面 (UI) 元素。
  • 經過處理事件將本身的代碼添加到 GridView 控件的功能中。

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※編輯器

1.2         GridView數據綁定ide

1.2.1  概述

GridView 控件提供了兩個用於綁定到數據的選項:

  • 使用 DataSourceID 屬性進行數據綁定,此選項讓您可以將 GridView 控件綁定到數據源控件。建議使用此方法,由於它容許 GridView 控件利用數據源控件的功能並提供了內置的排序、分頁和更新功能。
  • 使用 DataSource 屬性進行數據綁定,此選項使您可以綁定到包括 ADO.NET 數據集和數據讀取器在內的各類對象。此方法須要爲全部附加功能(如排序、分頁和更新)編寫代碼。

當使用 DataSourceID 屬性綁定到數據源時,GridView 控件支持雙向數據綁定。除可使該控件顯示返回的數據以外,還可使它自動支持對綁定數據的更新和刪除操做。

1.2.2  使用DataSourceID屬性進行數據綁定

請參見《ASP.NET服務器控件使用之GridView數據源ObjectDataSource》 http://blog.csdn.net/huc87/archive/2009/03/17/3998185.aspx

1.2.3  使用BoundField標籤來顯示綁定的數據

數據綁定控件(例如 GridView 和 DetailsView)使用 BoundField 類以文本顯示字段的值。根據在其中使用 BoundField 對象的數據綁定控件,該對象會以不一樣的方式顯示。例如,GridView 控件將 BoundField 對象顯示爲一列,而 DetailsView 控件則將該對象顯示爲一行。

若要指定在 BoundField 對象中顯示的字段,

請將 DataField 屬性設置爲字段的名稱。

經過將 HtmlEncode 屬性設置爲 true,能夠在顯示字段的值以前對其進行 HTML 編碼。

經過設置 DataFormatString 屬性,能夠將自定義格式化字符串應用到字段的值。默認狀況下,只有當數據綁定控件處於只讀模式時,格式化字符串才能應用到字段值。當數據綁定控件處於編輯模式時,

若要將格式化字符串應用到顯示的值,請將 ApplyFormatInEditMode 屬性設置爲 true。

若是字段的值爲空,則能夠經過設置 NullDisplayText 屬性顯示自定義標題。

經過將 ConvertEmptyStringToNull 屬性設置爲 true,BoundField 對象,也能夠將空字符串 ("") 字段值自動轉換爲空值。

經過將 Visible 屬性設置爲 false,能夠在數據綁定控件中隱藏 BoundField 對象。

若要防止字段的值在編輯模式中被修改,請將 ReadOnly 屬性設置爲 true。

在支持插入記錄的數據綁定控件(例如 DetailsView 控件)中,經過將 InsertVisible 屬性設置爲 false,能夠隱藏 BoundField 對象。這種狀況一般出如今想要在插入模式中隱藏自動生成的鍵字段時。

能夠自定義 BoundField 對象的標頭和腳註部分。若要在標頭或腳註部分顯示標題,請分別設置 HeaderText 或 FooterText 屬性。能夠經過設置 HeaderImageUrl 屬性來顯示圖像,而不是在標頭部分中顯示文本。

經過將 ShowHeader 屬性設置爲 false,能夠將標頭部分隱藏在 BoundField 對象中。

您還能夠經過爲字段的不一樣部件設置樣式屬性來自定義 BoundField 對象的外觀(字體顏色、背景顏色等)。下表列出了不一樣的樣式屬性。

樣式屬性

說明

ControlStyle

BoundField 對象的子 Web 服務器控件的樣式設置。

FooterStyle

BoundField 對象的腳註部分的樣式設置。

HeaderStyle

BoundField 對象的標頭部分的樣式設置。

ItemStyle

BoundField 對象中數據項的樣式設置。

 

1.2.4  使用TemplateField標籤來顯示自定義內容的字段

數據綁定控件(如 GridView 和 DetailsView)使用 TemplateField 類來爲每一個顯示的記錄顯示自定義內容。須要顯示某個預約義的數據控件字段(如 BoundField)未提供的數據綁定控件中的內容時,使用 TemplateField 類來建立自定義用戶界面 (UI)。根據在其中使用 TemplateField 對象的數據綁定控件,該對象會以不一樣的方式顯示。例如,GridView 控件將 TemplateField 對象顯示爲一列,而 DetailsView 控件則將該對象顯示爲一行。

可使用下表中列出的模板爲 TemplateField 對象的不一樣部分定義自定義模板。

模板

說明

AlternatingItemTemplate

爲 TemplateField 對象中的交替項指定要顯示的內容。

EditItemTemplate

爲 TemplateField 對象中處於編輯模式中的項指定要顯示的內容。

FooterTemplate

爲 TemplateField 對象的腳註部分指定要顯示的內容。

HeaderTemplate

爲 TemplateField 對象的標頭部分指定要顯示的內容。

InsertItemTemplate

爲 TemplateField 對象中處於插入模式中的項指定要顯示的內容。只有 DetailsView 控件支持該模板。

ItemTemplate

爲 TemplateField 對象中的項指定要顯示的內容。

 

1.2.5  演練:GridView顯示數據

本演練假定你已經作完《 ASP.NET服務器控件使用之GridView數據源ObjectDataSource 》(http://blog.csdn.net/huc87/archive/2009/03/17/3998185.aspx)中的 (演練ObjectDataSource控件),由於本演練是在綁定數據源基礎上的顯示數據。

使用BoundField顯示數據

1.         在C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\ObjectDataSourceTest下找到ObjectDataSourceTest.sln,雙擊打開Visual studio 2008

 

2.         打開Default.aspx設計器,點擊坐下放 「源」,打開了源碼編輯器,找到asp:GridView標籤。

asp:GridView標籤下的代碼好像是這樣

<asp:GridView ID="EmployeesGridView" 

DataSourceID="EmployeesObjectDataSource" 

AutoGenerateColumns="False"

AllowSorting="True"

AllowPaging="True"

PageSize="2"

DataKeyNames="Employee_ID" 

RunAt="server" >

<HeaderStyle backcolor="lightblue" forecolor="black"/>

<Columns>                

<asp:ButtonField Text="Details"

HeaderText="Show Details"

CommandName="Select"/>  

<asp:BoundField DataField="Employee_ID" HeaderText="Employee ID" SortExpression="Employee_ID" />

<asp:BoundField DataField="Employee_Name"  HeaderText="Employee Name" SortExpression="Employee_Name" />

<asp:BoundField DataField="Age"   HeaderText="Age" SortExpression="Age" />                    

</Columns>                

</asp:GridView>
View Code

   BoundField指定GridView表格下的一列,咱們就那

<asp:BoundField DataField="Employee_ID" HeaderText="Employee ID" SortExpression="Employee_ID" /> 來講,

DataField 屬性指定BoundField列綁定sql 「SELECT Employee_ID, Employee_Name, Age, Login_ID, Login_Password FROM employee_table_2」中的哪一列。

HeaderText屬性指明顯示的列名,SortExpression表示點擊該列名時從新排序的字段

 

3.         按Ctrl+F5運行,您將看到如下頁面

 

 

使用TemplateField顯示數據

1.         在C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\ObjectDataSourceTest下找到ObjectDataSourceTest.sln,雙擊打開Visual studio 2008

 

2.         打開Default.aspx設計器,點擊坐下放 「源」,打開了源碼編輯器,找到asp:GridView標籤。在asp:GridView標籤下的Column下加上以下代碼: 

<asp:TemplateField>

<HeaderTemplate>Login_Info</HeaderTemplate>

<ItemTemplate>

Login ID:<%#DataBinder.Eval(Container.DataItem, "Login_ID") %> <br />Login Password:<%#DataBinder.Eval(Container.DataItem, "Login_Password") %> 

</ItemTemplate>

</asp:TemplateField>
View Code

   一切搞定以後代碼開起來是這樣:

<asp:GridView ID="EmployeesGridView" 

DataSourceID="EmployeesObjectDataSource" 

AutoGenerateColumns="False"

AllowSorting="True"

AllowPaging="True"

PageSize="2"

DataKeyNames="Employee_ID" 

RunAt="server" >

<HeaderStyle backcolor="lightblue" forecolor="black"/>

<Columns>                

<asp:ButtonField Text="Details"HeaderText="Show Details"

CommandName="Select"/>  

<asp:BoundField DataField="Employee_ID" HeaderText="Employee ID" SortExpression="Employee_ID" />

<asp:BoundField DataField="Employee_Name"  HeaderText="Employee Name" SortExpression="Employee_Name" />

<asp:BoundField DataField="Age"   HeaderText="Age" SortExpression="Age" />  

<asp:TemplateField>

<HeaderTemplate>Login_Info</HeaderTemplate>

<ItemTemplate>Login ID:<%#DataBinder.Eval(Container.DataItem, "Login_ID") %> <br />Login Password:<%#DataBinder.Eval(Container.DataItem, "Login_Password") %> 

</ItemTemplate>

</asp:TemplateField>                  

</Columns>                

 </asp:GridView>
View Code

    DataBinder.Eval 方法 (Object, String)

在運行時計算數據綁定表達式。

參數

container

表達式根據其進行計算的對象引用。此標識符必須是以頁的指定語言表示的有效對象標識符。

expression

從 container 到要放置在綁定控件屬性中的公共屬性值的導航路徑。此路徑必須是以點分隔的屬性或字段名稱字符串,如 C# 中的 "Tables[0].DefaultView.[0].Price" 或 Visual Basic 中的 "Tables(0).DefaultView.(0).Price"。

返回值

Object,它是數據綁定表達式的計算結果。

按Ctrl+F5,運行,若是一切正常,您應該看到以下頁面

 ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

1.3         GridView數據排序

GridView 控件提供了內置排序功能,無需任何編碼。您能夠經過爲列設置自定義 SortExpression 屬性值並使用 Sorting 和 Sorted 事件,進一步自定義 GridView 控件的排序功能。

1.3.1  GridView控件的排序原理

GridView 控件不本身執行列排序,而是依賴數據源控件來表明它執行排序。該控件提供用於排序的用戶界面 (UI),如顯示在網格每一列最上方的 LinkButton 控件。可是,GridView 控件依賴於它所綁定到的數據源控件的數據排序功能。

若是綁定的數據源控件能夠排序數據,則選擇數據後,GridView 控件能夠經過將 SortExpression 傳遞給數據源與該數據源控件進行交互並請求排序後的數據。不是全部的數據源控件都支持排序;例如,XmlDataSource 控件就不支持排序。但若是數據源控件支持排序,GridView 就能夠利用它。下面的列表描述了數據源控件和支持排序所需的配置:

l  若是 SqlDataSource 和 AccessDataSource 控件的 DataSourceMode 屬性設置爲 DataSet,或 SortParameterName 屬性設置爲 DataSet 或 DataReader,則這兩個控件能夠排序。

l  若是ObjectDataSource 控件的 SortParameterName 屬性設置爲基礎對象所支持的屬性值,則該控件能夠排序。

1.3.2  GridView控件的排序過程

經過將 GridView 控件的 AllowSorting 屬性設置爲 true,便可啓用該控件中的默認排序行爲。將此屬性設置爲 true 會使 GridView 控件將 LinkButton 控件呈如今列標題中。此外,該控件還將每一列的 SortExpression 屬性隱式設置爲它所綁定到的數據字段的名稱。例如,若是網格所包含的一列顯示的是 Northwind 示例數據庫中「Employees」表的 City 列,則該列的 SortExpression 屬性將被設置爲 City。

在運行時,用戶能夠單擊某列標題中的 LinkButton 控件按該列排序。單擊該連接會使頁面執行回發並引起 GridView 控件的 Sorting 事件。排序表達式(默認狀況下是數據列的名稱)做爲事件參數的一部分傳遞。Sorting 事件的默認行爲是 GridView 控件將排序表達式傳遞給數據源控件。數據源控件執行其選擇查詢或方法,其中包括由網格傳遞的排序參數。

執行完查詢後,將引起網格的 Sorted 事件。此事件使您能夠執行查詢後邏輯,如顯示一條狀態消息等。最後,數據源控件將 GridView 控件從新綁定到已從新排序的查詢的結果。

GridView 控件不檢查數據源控件是否支持排序;在任何狀況下它都會將排序表達式傳遞給數據源。若是數據源控件不支持排序而且由 GridView 控件執行排序操做,則 GridView 控件會引起 NotSupportedException 異常。能夠用 Sorting 事件的處理程序捕獲此異常,並檢查數據源以肯定數據源是否支持排序,仍是使用本身的排序邏輯進行排序。

1.3.3  控制對個別列的排序

經過設置網格的 AllowSorting 屬性,您能夠按默認方式對列進行排序。將個別列的 SortExpression 屬性設置爲空字符串 (""),能夠禁用對個別字段(BoundColumn或 TemplateColumn 字段)的排序。

 

1.3.4  演練:GridView排序

見上一節演練

 ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

1.4         GridView數據排序

ObjectDataSource 控件處理分頁的方式是:設置 ObjectDataSource 的 EnablePaging、StartRowIndexParameterNameMaximumRowsParameterName 和 SelectCountMethod 屬性,並用正確的參數在業務對象中定義選擇方法。當 EnablePaging 屬性設置爲 true 時,SelectParameters 集合包含兩個額外的參數,一個用於請求的第一行,另外一個用於請求的行數。這兩個參數的名稱由 StartRowIndexParameterName 和 MaximumRowsParameterName 屬性定義。Select 方法應該返回從指定的索引處開始的請求的行數。由於數據可能不是按頁大小平均分割的,因此最後一頁可能包含較少的行。所以,請求的行數其實是返回的最大行數。

在關聯的數據綁定控件上啓用了分頁時,數據綁定控件用起始索引和所需的行數調用 Select 方法。此外,若是設置了 SelectCountMethod 屬性,數據綁定控件在呈現頁導航控件前調用此方法。例如,若是 GridView 控件啓用了頁大小爲 5 的分頁,而 SelectCountMethod 屬性指定的方法返回 20,則在頁導航中僅顯示 4 頁。

SelectCountMethod 屬性標識用於檢索總行數的業務對象方法,以支持數據源分頁。僅當 EnablePaging 屬性設置爲 true 時,才計算 SelectCountMethod 屬性。

 

 

 ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

1.5         GridView數據修改

1.5.1  啓用內置編輯功能

您能夠經過如下任一方式啓用 GridView 控件的內置編輯或刪除功能:

將 AutoGenerateEditButton 屬性設置爲 true 以啓用更新,將 AutoGenerateDeleteButton 屬性設置爲 true 以啓用刪除。

添加一個 CommandField,並將其 ShowEditButton 屬性設置爲 true 以啓用更新,將其 ShowDeleteButton 屬性設置爲 true 以啓用刪除。

建立一個 TemplateField,其中 ItemTemplate 包含多個命令按鈕,要進行更新時可將 CommandName 設置爲「Edit」,要進行刪除時可設置爲「Delete」。有關更多信息,請參見在GridView Web 服務器控件中建立自定義列

1.5.2  如何在GridView中進行編輯

GridView 控件能夠顯示一個用戶界面 (UI),讓用戶可以編輯各行的內容。一般,可編輯的網格中會有一列包含一個按鈕或連接,用戶能夠經過單擊該按鈕或連接將所在的行置於編輯模式下。(默認狀況下,按鈕標題是「編輯」。)

用戶保存更改時,GridView 控件將更改和主鍵信息傳遞到由 DataSourceID 屬性標識的數據源控件,從而調用適當的更新操做。例如,SqlDataSource 控件使用已更改的數據做爲參數值執行 SQL Update 語句。ObjectDataSource 控件調用其更新方法,並將更改做爲參數傳遞給方法調用。

GridView 控件在三個字典集合中將值傳遞到數據源以進行更新或刪除操做:Keys 字典、NewValues 字典和 OldValues 字典。可使用傳遞到 GridView 控件的更新或刪除事件的參數訪問每一個字典。

Keys 字典包含惟一地標識要更新或刪除的記錄的字段名稱和字段值,而且始終包含鍵字段的原始值。若要指定哪些字段放置在 Keys 字典中,可將 DataKeyNames 屬性設置爲用逗號分隔的、用於表示數據主鍵的字段名稱的列表。DataKeys 集合會用與爲 DataKeyNames 屬性指定的字段關聯的值自動填充。

注意    DataKeyNames 屬性中指定的字段的原始主鍵值存儲在視圖狀態中。若是主鍵值中包含敏感信息,則應經過將頁的 ViewStateEncryptionMode 屬性設置爲 Always 來加密視圖狀態的內容。

NewValues 字典包含正在編輯的行中的輸入控件的當前值。OldValues 字典包含除鍵字段之外的任何字段的原始值,鍵字段包含在 Keys 字典中。

數據源控件使用 Keys、NewValues 和 OldValues 字典中的值做爲更新或刪除命令的參數。有關如何根據爲綁定值建立的字典來建立數據源控件參數的信息,請參見數據源控件如何爲數據綁定字段建立參數

在經過處理 RowUpdating 或 RowDeleting 事件將任何這些字典的內容傳遞到數據源以前,能夠對其進行檢查或自定義。完成更新或刪除後,GridView 控件會引起其 RowUpdated 或 RowDeleted 事件。這些事件容許執行查詢後邏輯(如完整性檢查)。

完成更新或刪除並引起了全部事件以後,GridView 將從新綁定到數據源控件以顯示已更新的數據。

 

1.5.3  演練:在Gridview中進行編輯

本演練顯示瞭如何爲 Microsoft Visual Studio 2008 ASP.NET 網站編輯刪除GridView。

先決條件

本演練假定您能夠鏈接到 Oracle DataBase 實例,而且已創建EMPLOYEE_TABLE_2

表。您還必須對運行 Microsoft Internet Information Services (IIS) 5.0 版或更高版本的服務器具備訪問權限,並具備建立 ASP.NET 網頁的權限。

          EMPLOYEE_TABLE_2建表 

create table EMPLOYEE_TABLE_2

(

EMPLOYEE_ID    NUMBER,

EMPLOYEE_NAME  VARCHAR2(20),

AGE            NUMBER,

DEPARTMENT_ID  NUMBER,

PROJECT_ID     NUMBER,

LOGIN_ID       VARCHAR2(20),

LOGIN_PASSWORD VARCHAR2(20)

)

tablespace USERS

pctfree 10

initrans 1

maxtrans 255

storage

(

initial 64K

minextents 1

maxextents unlimited

  );
View Code

 建立新的網站

 

1.      在「文件」菜單中,指向「新建」,選擇「網站」。

  

2.      在「新建網站」對話框中,選擇「ASP.NET 網站」。

3.      在「語言」列表中,選擇 Visual C#,再單擊「肯定」。

 

3.         在「位置」框中,保留選定的默認 HTTP,而後輸入網站根目錄的位置,使用「瀏覽」導航及建立新的文件夾(若是須要)。單擊「肯定」。

4.         打開Default.aspx設計器,點擊坐下放 「源」,打開了源碼編輯器,Ctrl+A全選

刪除系統生成的代碼,替換爲如下內容 

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>無標題頁</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

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

        DataSourceID="SqlDataSource1" Height="278px" Width="675px" 

        DataKeyNames="employee_id" onrowupdating="GridView1_RowUpdating">

        <Columns>

            <asp:CommandField ShowEditButton="True" />

            <asp:CommandField ShowDeleteButton="true" />

            <asp:TemplateField>

            <ItemTemplate>

            <%#Eval("employee_name") %>

            </ItemTemplate>

            <EditItemTemplate><asp:TextBox runat="server" Text='<%#Eval("employee_name")%>' ID="EmployeeName"></asp:TextBox></EditItemTemplate>

            </asp:TemplateField>

        </Columns>

    </asp:GridView>

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 

        ConnectionString="<%$ ConnectionStrings:DataAccess %>" 

        ProviderName="<%$ ConnectionStrings:DataAccess.ProviderName %>" 

        SelectCommand="select * from employee_table_2" UpdateCommand="update employee_table_2 set employee_name=:employee_name where employee_id=:employee_id"

         DeleteCommand="delete from employee_table_2 where employee_id=:employee_id">

    </asp:SqlDataSource>

    </div>

    </form>

</body>

</html>
View Code

 5.         打開Default.aspx.cs

Ctrl+A全選,刪除系統生成代碼,替換爲如下代碼:

Code

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

 

public partial class _Default : System.Web.UI.Page 

{

    protected void Page_Load(object sender, EventArgs e)

    {

 

    }

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)

    {

        int index = GridView1.EditIndex;

        GridViewRow row = GridView1.Rows[index];

 

        // Get the controls that contain the updated values. In this

        // example, the updated values are contained in the TextBox 

        // controls declared in the edit item templates of each TemplateField 

        // column fields in the GridView control.

        TextBox EmployeeName = (TextBox)row.FindControl("EmployeeName");

 

        // Add the updated values to the NewValues dictionary. Use the

        // parameter names declared in the parameterized update query 

        // string for the key names.

        e.NewValues["employee_name"] = EmployeeName.Text;

    }

}
View Code

   6.          在web.config中配置數據庫鏈接

1)      什麼是web.config

可擴展的基礎結構是   ASP.NET   配置系統的一大特點,該基礎結構使您能夠在最初部署   ASP.NET   應用程序時定義配置設置,以即可以隨時添加或修改這些配置設置,同時對運做着的   Web   應用程序和服務器產生的影響也將被減至最小。

2)      配置鏈接

在web.config的<configuration></configuration>下加上

<connectionStrings>

<add name="ConnectionString" connectionString="Data Source=HCDB;Persist Security Info=True;User ID=huchen;Password=huchen;Unicode=True" providerName="System.Data.OracleClient"/>

</connectionStrings>

  其中Data Source是指tns中的Host String, User ID是oracle登錄用戶名,Password是oracle登錄密碼。providerName是數據提供者。

7.         按Ctrl+F5啓動運行,若是一切順利,您講看到如下頁面:

 

相關文章
相關標籤/搜索