2008年3月26日 星期三

我也有黑貓

剛剛喵友John傳來他的手畫黑貓, 天啊,居然畫的還挺好看的,參考這裏
,害我受到嚴重打擊!好歹我和他還是一起上過Photoshop課程! 馬上找出Wacom練習畫我的黑貓! 這就是我第一個手繪的黑貓!


Step-By-Step教學(3):使用LinqDataSource查詢陣列資料

LinqDataSource並非限制在只能夠存取SQL Server的資料,你可以利用它來存取.NET中集合或陣列的資料。

例如有一個Books類別的定義如下:

您可以網頁中加入一個GridView控制項,與一個LinqDataSource控制項,並且設定GridView控制項的DataSourceID為「LinqDataSource1」。然後設定LinqDataSourceContextTypeName為「Books」,設定TableName為「Book」屬性:

網頁執行的結果:

2008年3月25日 星期二

Step-By-Step教學(2):在不同的瀏覽器顯示不同的ASP.NET主版頁面

ASP.NET的主版頁面功能在設計上可以視需求針對不同的瀏覽器顯示不同的主版頁面(Master Page),做法相當簡單,參考以下步驟
  1. 在ASP.NET 3.5網站建兩個Master Page分別為 SystexIE.master與SystexFirefox.master
  2. SystexIE.master畫面看起來如
  3. SystexFirefox.master畫面看起來如
  4. 加一個DeviceSpecMaster.aspx網頁選SystexIE.master然後修改Page宣告為

    <@ Page Language="C#"
    ie:MasterPageFile="~/SystexIE.master"
    Mozilla:MasterPageFile="~/SystexFirefox.master" %>

  5. 在IE中執行看起來的樣子如


    在Firefox中執行看起來的樣子如

2008年3月22日 星期六

Step-By-Step教學(1):改寫LINQ to SQL資料異動行為

LINQ to SQL提供一個簡單的資料存取模型,讓程式設計師能夠很容易地新增資料到資料庫,刪除資料庫資料,或對資料庫中既有的資料進行修改。預設LINQ to SQL會自動產生異動資料的T-SQL敘述來進行更新作業,但在預設行為不敷所需時,也可以很彈性地進行客製化動作。以下步驟說明客製化方式。

1. 建立一個Windows表單專案。
2. 加入LINQ to SQL類別,命為Northwind.dbml。

3. 開啟Server Explorer工具,連接到Northwind資料庫,然後將Region資料表拖曳到LINQ to SQL設計畫面左方的區塊之中。
4. 在伺服器總管,Northwind.dbml檔案方案滑鼠右鍵,選取「View Code」,Visual Studio 2008將會建立一個Northwind.cs檔案,其中包含一個NorthwindDataContext部分類別的定義。

5. 在NorthwindDataContext類別的大括號中,輸入partial一個字,Visual Studio會自動列出所有可以改寫的部分方法,包含InsertRegion、OnCreated、DeleteRegion與UpdateRegion方法,選取任一方法後,按Tab鍵,Visual Studio會自動產生方法的函式定義。
6. 修改Northwind.cs

1 using System.Data;

2 using System.Data.SqlClient;

3 namespace CustomLTSQL {

4 partial class NorthwindDataContext {

5 partial void InsertRegion(Region instance) {

6 SqlConnection cn = new SqlConnection(this.Connection.ConnectionString);

7 SqlCommand cmd = new SqlCommand("Insert into Region values(@RegionID,@RegionDescription)", cn);

8 cmd.Parameters.AddWithValue("@RegionID", instance.RegionID);

9 cmd.Parameters.AddWithValue("@RegionDescription", instance.RegionDescription);

10 cn.Open();

11 cmd.ExecuteNonQuery();

12 cn.Close();

13 }

14 partial void DeleteRegion(Region instance) {

15 SqlConnection cn = new SqlConnection(this.Connection.ConnectionString);

16 SqlCommand cmd = new SqlCommand("delete from Region where RegionID=@RegionID", cn);

17 cmd.Parameters.AddWithValue("@RegionID", instance.RegionID);

18 cn.Open();

19 cmd.ExecuteNonQuery();

20 cn.Close();

21 }

22 partial void UpdateRegion(Region instance) {

23 SqlConnection cn = new SqlConnection(this.Connection.ConnectionString);

24 SqlCommand cmd = new SqlCommand("update Region set RegionDescription=@RegionDescription where RegionID=@RegionID", cn);

25 cmd.Parameters.AddWithValue("@RegionID", instance.RegionID);

26 cmd.Parameters.AddWithValue("@RegionDescription", instance.RegionDescription);

27 cn.Open();

28 cmd.ExecuteNonQuery();

29 cn.Close();

30 }

31 }

32 }

7. 在表單中加入三個Button,分別為Insert、Update、Delete,然後在其Click事件處理常式加入以下程式,分別進行新增、刪除、修改資料的動作:

1 using System;2 using System.Collections.Generic;

3 using System.ComponentModel;

4 using System.Data;

5 using System.Drawing;

6 using System.Linq;

7 using System.Text;

8 using System.Windows.Forms;

9 namespace CustomLTSQL {

10 public partial class Form1 : Form {

11 public Form1() {

12 InitializeComponent();

13 }

14 private void button1_Click(object sender, EventArgs e) {

15 NorthwindDataContext db = new NorthwindDataContext();

16 Region r = new Region();

17 r.RegionID = 999;

18 r.RegionDescription = "new Region";

19 db.Regions.InsertOnSubmit(r);

20 db.SubmitChanges();

21 }

22 private void button2_Click(object sender, EventArgs e) {

23 NorthwindDataContext db = new NorthwindDataContext();

24 Region reg = (from r in db.Regions

25 where r.RegionID==999

26 select r).Single<Region>();

27 db.Regions.DeleteOnSubmit(reg);

28 db.SubmitChanges();

29 }

30 private void button3_Click(object sender, EventArgs e) {

31 NorthwindDataContext db = new NorthwindDataContext();

32 Region reg = (from r in db.Regions

33 where r.RegionID == 999

34 select r).Single<Region>();

35 reg.RegionDescription = "Super new Region";

36 db.SubmitChanges();

37 }

38 }

39 }


2008年3月18日 星期二

米米貓 ADO.net 初體驗


看起來是不太有興趣的樣子!!

好厚的書啊!

今天終於看到熱騰騰的新書,好厚啊 !











使用米米貓比例尺量一下,大概這麼厚吧!











再靠近一點! 真是誇張啊! 果然可用來當殺人凶器!

2008年3月14日 星期五

LINQ簡介

在.NET Framework 3.5版中,引進一個新的功能,稱之為
LINQ (Language INtegrated Query),能夠利用.NET程式語言進行物件的查詢。.NET的程式語言,像是C# 3.0 (Visual C# 2008)、Visual Basic 9.0 (Visual Basic 2008) 都可利用一個LINQ提供的查詢運算式(Query Expression)語法來整合查詢能力。

LINQ為C#、Visual Basic程式語言提供基本查詢的能力,使用類似SQL查詢的語法,透過from子句指定查詢來源;利用where子句設定篩選條件;透過Order by子句做排序;以Group by子句對資料分組,再利用select子句回傳資料。再者,LINQ查詢也支援複雜的join語法,讓你快快樂樂地在程式語言中,進行複雜的連結運算, 恣意搜尋資料。


LINQ包含以下部份:
  •  LINQ to Object:可查詢集合與陣列中的資料
  •  LINQ to DataSet:查詢DataSet/DataTable中的資料。
  •  LINQ to SQL:查詢或異動微軟SQL Server資料庫的資料。
  •  LINQ to XML:查詢XML節點。

其中對於資料庫存取最重要的就是LINQ to SQL與LINQ to DataSet:

LINQ to SQL
LINQ to SQL,可以利用類似SQL查詢的語法,在執行時期將關連式資料庫的資料庫視為物件,以進行管理及查詢。這個功能真是酷斃了,想像一下你在程式中,下個類 似SQL的直覺式語法,就可以查詢物件的資料、篩選資料、做排序,而且,你的用戶端機器還不需要裝一台SQL Server。

LINQ to SQL內建了物件與關聯式資料兩者之間對應的架構,讓程式設計師能夠建立對應於資料庫結構的.NET物件模型。有了物件模型後,便可透過LINQ語法來查詢、或修改其中的資訊。而建立對應到資料庫物件的物件模型此等雜工,就交由工具去幫你做。

LINQ to DataSet
ADO.NET 提供的DataSet與DataTable具備有將資料暫存在用戶端電腦上的能力。DataSet就如離線的資料庫一般,可以存放一到多個資料表,每個資 料表為一個DataTable物件。DataSet也可以描述資料表與資料表之間的關聯,以及一對一、一對多等特色。雖然DataSet與 DataTable提供一些方法,具備有篩選、搜尋資料的能力,但認真來說,這些功能稍嫌簡陋,缺乏彈性,若想要做一些複雜的查詢,往往不能靠 DataSet、DataTable來達成。

當你利用DataAdapter把資料載入DataSet之後,若需要查詢其中的資料,就可以使用LINQ to DataSet。程式設計師可以針對DataSet來撰寫LINQ查詢。

應用程式的支援
LINQ 可以支援資料繫結 (Data Binding) 功能,不僅在Windows表單程式中可以很方便利用托曳方式進行設定,快速設計出應用程式介面,也可以在ASP.NET 網頁中,利用附加在ASP.NET 3.5版中的LinqDataSource控制項,來設計支援LINQ功能的網頁。未來不管是設計任何一種類型的.NET程式都可以加入LINQ,讓查詢 變得更簡單,讓資料的截取變的更方便。

2008年3月13日 星期四

2008年3月11日 星期二

ADO.net 3.5封面

遲來的封面
正面+背面!






老實說,我不喜歡這個封面呢...像微軟的產品包裝!

補充:今天看到封面打樣,印出來還蠻美的耶!

VS 2008 全系列書 - 延期出貨!

今天早上收到出版社來函道歉
"VS書系因封面完稿無法無期完成, 因而必須延後出版"
想不到最大的關卡是在封面設計無法如期完成!
出書時間預估延後到 3/19 日
不禁想起一句話: 人算不如天算!

2008年3月10日 星期一

微軟正式發佈VS2008新認證

終於微軟官方正式的宣布了這項消息!以下來自官網的訊息
以下MCTS 六個認證有一科共同考試科目(70-536),這科是.NET 2.0的核心科目,有考過.NET 2.0 MCTS/MCPD認證的人應該都考過啦~只是換個新名稱而以.


新的MCTS 認證與考試代碼(.NET Framework 3.5)
Visual Studio 2008共有六個新的 MCTS 認證:

(1) MCTS: .NET Framework 3.5, Windows Presentation Foundation Applications
  • 考試科目兩科:
    • 70-536: TS: Microsoft .NET Framework, Application Development Foundation
    • 70-502 TS: Microsoft .NET Framework 3.5, Windows Presentation Foundation Application Development

(2) MCTS: .NET Framework 3.5, Windows Forms Applications
  • 考試科目兩科:
    • 70-536: TS: Microsoft .NET Framework, Application Development Foundation
    • 70-505: TS: Microsoft .NET Framework 3.5, Windows Forms Application Development
(3) MCTS: .NET Framework 3.5, ASP.NET Applications
  • 考試科目兩科:
    • 70-536: TS: Microsoft .NET Framework, Application Development Foundation
    • 70-562: TS: Microsoft .NET Framework 3.5, ASP.NET Application Development
(4) MCTS: .NET Framework 3.5, Windows Communication Foundation Applications
  • 考試科目兩科:
    • 70-536: TS: Microsoft .NET Framework, Application Development Foundation
    • 70-503: TS: Microsoft .NET Framework 3.5, Windows Communication Foundation Application Development
(5) MCTS: .NET Framework 3.5, Windows Workflow Foundation Applications
  • 考試科目兩科:
    • 70-536: TS: Microsoft .NET Framework, Application Development Foundation
    • 70-504: TS: Microsoft .NET Framework 3.5, Windows Workflow Foundation Application Development
(6) MCTS: .NET Framework 3.5 ADO.NET Applications
  • 考試科目兩科:
    • 70-536: TS: Microsoft .NET Framework, Application Development Foundation
    • 70-561 : TS: Microsoft .NET Framework 3.5, ADO.NET Application Development


新的 MCPD認證(.NET Framework 3.5)
微軟共推出3個MCPD認證,需考過基礎 MCTS認證,再加考科
(1) MCPD: Windows Developer 3.5
  • 考試開始日期:
  • 需先通過MCTS: .NET Framework 3.5, Windows Forms Applications認證 (2科考試)
  • 加考一科 :
    • 70-563: PRO: Designing and Developing Windows Applications using Microsoft .NET Framework 3.5

(2) MCPD: ASP.NET Developer 3.5
  • 需先通過MCTS: .NET Framework 3.5, ASP.NET Applications認證 (2科考試)
  • 加考一科 :
    • 70-564: : PRO: Designing and Developing ASP.NET Applications using Microsoft .NET Framework 3.5
(3) MCPD: Enterprise Application Developer 3.5
  • 需先通過以下4個認證:
    • MCTS: .NET Framework 3.5, Windows Forms Applications (2科考試)
      MCTS: .NET Framework 3.5, Windows Communication Foundation Applications (2科考試)
      MCTS: .NET Framework 3.5, ADO.NET Applicaitons (2科考試)
      MCTS: .NET Framework 3.5, ASP.NET Applications (2科考試)
  • 加考一科:
    • 70-565: PRO: Designing and Developing Enterprise Applications using Microsoft .NET Framework 3.5
升級考試
若有Visual Studio 2005的MCPD舊認證者,可以考以下升級考試:

(1) 擁有MCPD: Windows Developer (Visual Studio 2005) 認證
  • 加考一科:
    • Exam 70-566: Upgrade: Transition your MCPD Windows Developer Skills to MCPD Windows Developer 3.5
  • 取得 兩個認證:
    • MCPD: Windows Developer 3.5
    • MCTS: .NET Framework 3.5, Windows Forms Applications
(2) 擁有MCPD: Web Developer (Visual Studio 2005) 認證
  • 加考一科 :
    • 70-567: Upgrade: Transition your MCPD Web Developer Skills to MCPD ASP.NET Developer 3.5
  • 取得兩個認證:
    • MCPD: ASP.NET Developer 3.5
    • MCTS: .NET Framework 3.5, ASP.NET Applications
(3) 擁有MCPD: Enterprise Application Developer (Visual Studio 2005) 認證
  • 加考2科:
    • 70-568: Upgrade: Transition your MCPD Enterprise Application Developer Skills to MCPD Enterprise Application Developer 3.5, Part 1
    • 70-569: Upgrade: Transition your MCPD Enterprise Application Developer Skills to MCPD Enterprise Applicatin Developer 3.5, Part 2
  • 取得5個認證:
    • MCPD: Enterprise Application Developer 3.5
      MCTS: .NET Framework 3.5, ASP.NET Applications
      MCTS: .NET Framework 3.5, ADO.NET Applications
      MCTS: .NET Framework 3.5, Windows Forms Applications
      MCTS: .NET Framework 3.5, Windows Communication Foundation Applications
自修參考資源
70-536參考資源:
70-502參考資源:
70-503參考資源:
70-504參考資源:
70-505參考資源:

70-561參考資源:

70-562參考資源:
70-563參考資源:

70-564參考資源:

70-565參考資源:

  • 考試開始日期:





本文最後修改日期 : 2008/8/11

2008年3月7日 星期五

ADO.net 2.0 vs ADO.net 3.5

ADO.net 3.5 版推出之後,許多人開始好奇,它到底變化如何? 有差很多嗎?
根據稍微軟的官方網站說明,ADO.net 3.5增加以下新功能 :
  • Language-Integrated Query (LINQ)
  • New Features in SqlClient for SQL Server 2008
根據米米貓的測試,略掉以上新功能不談,改變最多的是Visual Studio 2008的DataSet設計工具它所產生出來的程式碼與元件不太一樣。例如過去Visual Studio 2005會為XSD檔案的每個資料表產生一個對應的新類別,此新類別繼承自DataTable。而Visual Studio 2008則改為繼承自TypedTableBase泛型類別。

但嚴格說起來,DataSet設計工具是屬於Visual Studio 2008而非ADO.net函式庫的一部份,倒也不能歸類到ADO.net的新功能吧! 大家也不用太過擔心, 因為舊的Visual Studio 2005程式可直接升級Visual Studio 2008,程式還是可以正常運作,不過使用升級功能升級時,Visual Studio 2005產生的具型別資料集程式不會跟著升級喔~米米貓的解決方式是把XSD檔從檔案總管直接拖曳到專案之中,它就會產生新的具型別資料集程式碼。

另外DataSet設計工具會為專案建立一個新的物件,叫做TableAdapterManager,用來管理具型別資料集中有相關聯的資料之更新動作,例如先更新Master資料表,再更新Details資料表。

以下內容節錄自米米貓 ADO.net 3.5精研講座一書第一章
,大家會對ADO.net 3.5較為認識:

細說ADO.NET歷史
ADO.NET在 2003年推出時,內建在.NET Framework 1.0之中,當時的版本為1.0。在2005年.NET Framework 2.0版推出時,內建了ADO.NET 2.0版。

在 2006年底微軟推出一個.NET Framework 3.0版本,在此版本全面提供了更好的服務導向 (SOA) 基礎技術、更生動活潑的互動式應用程式介面,以及更嚴謹安全的網路通訊架構和企業商業流程的引擎。.NET Framework 3.0是一個附加在.NET Framework 2.0架構之上,讓程式開發者在設計應用程式的過程中能更佳得心應手的程式庫、其中主要包含了幾大部份:
• Windows Presentation Foundation (WPF) ,以新的應用程式技術架構提供程式開發人員設計具視覺效果,且畫面炫的程式介面。
• Windows Communication Foundation (WCF) ,有安全通訊能力的應用程式。
• Windows Workflow Foundation (WF) ,整合商業流程的應用程式。
• Windows CardSpace (WCS) ,代表在不同的情境下,個人的身分識別。

.NET Framework 2.0提供的功能並沒有絲毫變動,這也就是說,關於ADO.NET 2.0提供的功能是完全一樣的,版本命名也沿用2.0版。當你熟悉了.NET Framework 2.0之後,便可以利用所學知識與技能,再搭配.NET Framework 3.0的架構發展出更佳的企業級,支援網際網路能力的應用程式。

時 序邁入2007年,微軟推出了.NET Framework 3.5版。.NET Framework 3.5是以 .NET Framework 2.0為基礎,整合.NET Framework 3.0版提供的功能,再外加上新一代的LINQ、ASP.NET 3.5與其它各式各種服務,它們之間的關係,請參考圖1-1。


圖 1-1:.NET Framework 3.5

從中可看出,在 Visual Studio 2008開發工具與.NET Framework 3.5版發行時,ADO.NET核心功能部份並沒有變動,還是以ADO.NET 2.0為基礎。您可以從GAC (預設是C:\Windows\Assembly目錄) 中檢視ADO.NET 核心類別庫System.Data.dll的版本,它還是2.0版。但.NET Framework 3.5多了一些跟ADO.NET相關的擴充函式庫,如System.Data.DataExtensions.dll (3.5版)、System.Data.Linq.dll (3.5版),提供額外的資料存取功能。換句話說,ADO.NET 2.0的程式可以毫無問題的正確移轉到.NET Framework 3.5的平台上執行,也能利用新的函式庫帶來的好處。

在.NET Framework 3.5版所提供的ADO.NET就姑且稱之為ADO.NET 3.5版吧! 因為官方的文件中並沒有特別定義它的版本,但筆者身為微軟認證講師,從微軟預計出版的官方教材中與微軟出版社將推出的書籍名稱中,瞧出一些端倪,微軟將之 命為ADO.NET 3.5版。

不過在這個ADO.NET 3.5版本正式發行之前,ADO.NET 有個3.0的測試版,可惜在.NET Framework 3.5正式發行時,並不包含ADO.NET 3.0測試版中主張要提供的ADO.NET Entity Framework,也不提供Microsoft Synchronization Services for ADO.NET。ADO.NET Entity Framework主要的功能是,讓程式設計師能夠透過一個對應到資料結構描述資訊的Entity資料模型之概念層,很容易地操作資料。

Microsoft Synchronization Services for ADO.NET 是一個開發架構,著重在2層式、N-層式應用程式(即分散式應用程式),以及服務導向程式之間的資料同步動作。它提供一組API介面,和元件,讓行動裝置 應用程式、資料服務與本機資料儲存體能同步保持一致,以設計更完善的離線應用程式。

微軟打算未來正式發行時,再以擴充程式的方式提供這些新功能, 因此此部份不在本書的討論範圍。另外,雖然在作者寫稿之時,SQL Server 2008還沒有正式推出,但ADO.NET 3.5版本中也提供許多支援SQL Server 2008 的新功能,像新的date、time資料型別等等。

2008年3月5日 星期三

Visual Studio 2008 全系列書


米米貓的好友的 Visual Studio 2008 全系列書一同進印刷場囉~
希望書能夠大賣,好讓我多買一些貓罐罐吃!
由左至右這五本書的作者為:

為配合新書促銷活動,買書首購有折扣,還有送公仔喔~ 請鎖定悅知網站

不過,公仔能當貓罐罐吃嗎???

預計出廠時間是 3月13日到3/14日, 屆時各大書局都會鋪貨!

與過去說再見

ADO.NET 2.0 實戰講座斷貨了
雖然非名列十大熱門暢銷書 ,但以後也只能到舊書攤去找囉!
怪的是, 這本書的書名,我自己都記不起來呢...

ADO.NET 3.5精研講座


ADO.NET 3.5精研講座

此書改版自米米貓前一本著作 ADO.NET 2.0 實戰講座
只是出版社的大大不讓人家在封面上用米米貓的真名付印
也不擺米米貓的照片,真令人傷心!
那麼此本書與上一版有何不同? ADO.NET 2.0基本上核心並無變動,
當然書前1-12章內容也差不多啦。
13- 17章是從難產已作古,從未面市的ADO.NET 2.0精研講座一書擷取出來。
18-19則是因應.NET Framework 3.5 引進的LINQ特色重新撰寫的。
改變最大的是此書是使用Visual C# ,
ADO.NET 2.0 實戰講座是純粹的Visual Basic範例。
所以米米貓的舊讀者,買書之前要三思一下, 不要說我是來騙錢啦!

這邊是試讀章節~

ADO.NET 3.5精研講座內容概覽
本書內容以循序漸進方式,來介紹ADO.NET,和應用程式的設計。本書分為兩大主軸,《基本心法篇》介紹ADO.NET的物件的概念與基礎應用。《實戰主題篇》則是針對較進階的主題做專題式的介紹。

基本心法篇
1. ADO.NET資料存取技術概論
本章概覽ADO.NET的物件模型以及適用的平台,和它可應用的領域。從ADO.NET架構、物件模型、DataSet、.NET資料提供者、錯誤處理機制,以及ADO.NET和XML的關係都有概括性的介紹。

2. 使用Visual Studio 2008管理資料
Visual Studio 2008是一套完整的開發工具,能夠開發Microsoft Visual C# 2008 (C# 3.0)、Visual Basic 2008 (9.0),與Visual C++等程式語言的專案。有了工具的輔助,建立資料庫應用程式的動作將更為得心應手。本章將介紹Visual Studio 工具所提供的「伺服器總管」視窗,說明如何利用此視窗,管理SQL Server 2005、SQL Server 2005 Express、Excel,與Access等多種不一樣的資料庫。

3. 連接到資料庫
在這 一章中將要介紹建立ADO.NET應用程式的第一步,了解如何使用Connection物件,連接到常用資料來源,如SQL Server 2000/2005、SQL Server 2005 Express、Oracle 10g、MySQL、Access、Excel、文字檔案等等。

4. 使用Command與預存程序
Command物件可以用來查詢資料、可以用來執行資料的新增、刪除、修改動作,在這個章節中,將專注在介紹Command物件的使用方式。

5. 使用DataReader讀取資料
DataReader 物件提供一個簡單有效率的方式,讓應用程式瀏覽回傳的資料。使用DataReader從資料庫回傳的資料是唯讀 (Read-only)、只能向下捲動 (Forward-only) 的串流 (stream) 資訊。所謂串流資訊指的是位元組陣列資料。本章將討論DataReader的使用方式,並以一些範例程式,說明DataReader的應用,例如讀取資料 庫中的二進位圖片檔、Excel檔案、文字檔案。

6. 離線的資料儲存體--DataSet
DataSet 與DataTable是ADO.NET架構中功能相當強大的資料存取物件,可以將之視為一個離線的資料庫。本章將討論如何建立 DataSet/DataTable、如何使用資料繫結技術與瀏覽資料、如何建立主鍵、唯一的條件約束、自訂外部索引鍵條件約束、自訂運算行欄位及新增、 刪除及修改DataRow,以及DataSet/DataTable如何記錄離線環境中資料的異動等議題。

7. XML結構描述與具型別資料集
在 這一章中,將了解ADO.NET與XSD結構描述資訊的關聯性。在本章將使用Visual Studio 2008建立具型別資料集、及如何將結構描述資訊載入到DataSet/DataTable之中,或把DataSet/DataTable的結構描述資訊 儲存成XML檔案。

8. 使用DataAdapter異動資料
DataAdapter物件是 ADO.NET資料提供者的一部份,包含了Connection物件、DataReader物件,和Command等物件。它也像是一個容器一般,可以包 含多個Command物件,分別對資料進行新增、刪除、修改、查詢資料的動作。本章也說明如何在離線的環境,將資料從資料庫伺服器下載到用戶端電腦,修改 資料後,再更新回資料庫。

9. DataRelation與ForeignKeyConstraint
DataSet 中可以存放多個DataTable,並可以建立各DataTable之間的一對多,或多對多關聯,在這一章中,將深入探討DataRelation物件的 使用方式,透過DataRelation搜尋父子DataTable中相關的資料。為了維護資料的完整性,在定義DataRelation物件時,也可以 順便建立ForeignKeyConstraint,本章將說明DataRelation與ForeignKeyConstraint的相似與不同之處。

10. 使用TableAdapter開發資料存取程式
本 章介紹Visual Studio 2008 開發工具所提供的「資料來源」視窗、「資料來源組態精靈」,幫助程式設計師,快速地建立資料庫連線,只要透過一些屬性設定,和少量的程式碼,就可建立一個 功能完整的資料存取程式,讀取資料庫資料,以及進行資料刪除、修改作業。並以實例說明如何使用資料庫、Web服務、物件,做為應用程式的資料來源。

11. 再談DataTable與DataView物件
將資料載入DataSet的DataTable當中後,可能會想要從中搜尋某筆資料,若找尋某些符合搜尋條件的資料,再或者想要按不同的欄位來排序資料。這一章將介紹如何在DataTable中搜尋資料,以及使用DataView來進行排序、搜尋資料的不同實作方式。

實戰主題篇
12. 建立ASP.NET資料存取網頁
在 這個章節中,將介紹如何利用Visual Studio 2008開發工具,建置ASP.NET資料存取網頁。瞭解何謂資料來源元件、使用SqlDataSource、ObjectDataSource撰寫能新 增、刪除、修改、查詢資料的全功能網頁。並介紹ASP.NET的資料繫結控制項,如GridView、DetailsView、FormView等等。

13. 通用資料存取模型
在ADO.NET的資料提供者模型 (Provider Model)提供您撰寫與資料提供者無關的程式碼,能夠在執行時期動態決定使用要使用的資料提供者,增加設計的彈性。本章探討Provider Factory 模型的觀念與實際的應用。

14. 離線資料存取策略
離線應用程式進行批次更新作業時,常常會發現資料已經被其它使用者變更,而造成離線衝突,這一章中將介紹ADO.NET如何記錄這些資料的異動與版本,並說明如何偵測是否發生衝突,以及在發生衝突後可採用的資料更新策略。

15. MARS、非同步命令與SqlBulkCopy
本 章介紹三大主題,如何使用多重作用結果集 (MARS),在同一個資料庫連線中開啟多個結果集。非同步命令則利用多執行緒的概念,指派需時冗長的工作給工作執行緒在背景執行,並說明.NET中設計 的四種非同步模型,以善用多執行緒帶來的優勢。第三個主題則是SqlClient資料提供者專屬的大量資料複製能力,能將大量資料快速地匯入SQL Server資料庫。

16. ADO.NET與交易處理
為了資料的正確性,交易是很重要的, 應用程式能藉由此機制確保交易過程中牽涉到的資料的一致性。本章說明交易的基本概念與重要性,並介紹如何在ADO.NET使用本機交易,以及在分散式應用 程式中,利用System.Transaction命名空間下的物件進行分散式交易處理。最後,說明交易的鎖定與隔離機制。

17. .NET CLR整合
本 章探究SQL Server 2005版後的新功能,支援.NET共通語言執行環境。您可以利用C# 來撰寫預存程序、聚合函數、使用者自訂函數、使用者自訂型別與觸發器,然後將程式載入SQL Server執行,善用.NET類別來補足SQL語法不足之處,例如開啟硬碟中檔案。

18. 與LINQ to SQL接軌
在.NET Framework 3.5版本最另人激賞的新功能,就是LINQ查詢 (.NET Language Integrated Query),在程式語言中加入物件的查詢能力。針對ADO.NET部份,LINQ提供了LINQ to ADO.NET,包含兩大主題:LINQ to SQL與LINQ to DataSet。
本章介紹LINQ查詢的基本語法,利用Visual Studio工具LINQ to SQL範本建立DataContext物件來操作資料,利用類似SQL查詢的語法,查詢物件的資料、篩選資料、做排序或資料的加總。除查詢之外,LINQ to SQL也可整合預存程序來修改資料庫資料。本章除探討資料異動的主題之外,也會說明離線衝突的解決方式。本章最後以Step-by-Step方式介紹如何 在網頁中整合LINQ,並利用ASP.NET 3.5版提供的新DataList與DataPager伺服器控制項與LinqDataSource資料來源控制項來設計允許自訂資料分頁的網頁。

19. 與LINQ to DataSet共舞
LINQ to DataSet能彌補在DataSet中查詢的不足之處,能針對DataSet中的多個DataTable做連結(join)查詢,但不著重在資料如何更 新回資料來源問題。本章介紹LINQ to DataSet提供的DataRowExtensions與DataTableExtensions擴充類別,為DataSet查詢提出許多擴充功能,能 利用LINQ語法進一步篩選DataSet中的資料。

米米貓的ADO.NET 3.5精研講座



米米貓的ADO.NET 3.5精研講座要上市了...
米米貓正在努力校稿中....
這本書的完成,真是血汗與眼淚交織而成的
人家是陽關三唱,我卻是ADO.NET 3校,
希望這回不要再發現錯字了!

總網頁瀏覽量