色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

asp.net控件開發基礎(22)

  上兩篇討論了如何定義結合數據源控件的數據綁定控件.這次我們一起來看下數據源控件是如何實現的。ASP.NET2.0已經為我們提供了很多數據源控件,相信大家都用過了,也希望大家對其有所熟悉.關于它能做什么就不說了。下面我們也一起來看看,如何簡單的實現。

  一.你必須了解的

  1.關于數據源控件(DataSourceControl)

  雖然表面看來,給數據綁定控件指定DataSourceID屬性,數據源控件幫你做了一切工作,其實不然,數據源控件只負責收集與數據交互的相關信息,如:SqlDataSource的ConnectionString,AccessDataSource的DataFile
收集好這些信息后交給DataView類統一處理數據,但用戶一般不與DataView類直接打交道,而是DataSourceControl,所以DataSourceControl需要獲取DataView類,從而間接的調用數據相關操作方法。因此,.NET抽象定義出了一個接口IDataSource,實現 IDataSource 接口的任何類都是數據源控件,.NET為我們提供了一個起點DataSourceControl類,其實現了IDataSource 接口。

  2.數據處理(DataSourceView數據源視圖)

  上面已經談到,數據源控件將相關數據傳給DataSourceView,處理數據。如SqlDataSourceView提供了相當多的數據操作,最基本的則是檢索數據,接著還有添加,更新,刪除等操作。.NET為我們提供了一個起點DataSourceView類,其中ExecuteSelect方法作為抽象方法,子類必須實現。

  二.最簡單實現(示例)

  什么是最簡單實現呢?比如只提供最基本的檢索數據功能的數據源控件,這里我們只需要實現上面兩個類的抽象方法就OK了,還是看示例吧.

  (1)定義DataSourceView 實現ExecuteSelect方法

 public class MyDataSourceView : DataSourceView
{
public MyDataSourceView(MyDataSourceControl owner, string name)
:
base(owner, name)
{
}
protected override IEnumerable ExecuteSelect(DataSourceSelectArguments arguments)
{
arguments.RaiseUnsupportedCapabilitiesError(
this);
SqlConnection conn
=
new SqlConnection("Server=localhost;Database=Northwind;uid=sa;pwd=123456");
conn.Open();

SqlCommand cmd
=
new SqlCommand("SELECT CustomerID, ContactName, ContactTitle, CompanyName FROM Customers WHERE CustomerID LIKE '[AB]%'",
conn);
return (IEnumerable)cmd.ExecuteReader(CommandBehavior.CloseConnection);

}
}

NET技術asp.net控件開發基礎(22),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 五大连池市| 天门市| 浮山县| 沁阳市| 怀仁县| 上饶县| 巴楚县| 万山特区| 喀喇| 泰安市| 资源县| 沁源县| 安宁市| 朔州市| 洮南市| 梓潼县| 桃园市| 朝阳市| 云霄县| 石河子市| 藁城市| 阜宁县| 阳城县| 马边| 洪洞县| 亚东县| 龙里县| 永顺县| 临朐县| 长丰县| 普宁市| 沅陵县| 读书| 延安市| 太湖县| 宜宾市| 榆林市| 晋中市| 阿图什市| 泸溪县| 霍邱县|