文章編號: 949738 - 上次校閱: 2008年2月26日 - 版次: 1.1

MCTS Self-Paced 訓練套件 (測驗 70-526): Microsoft.NET Framework 2.0 Windows 架構用戶端開發註解和更正第 2

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

結論

這份文件包含註解、 更正,與 Microsoft 按活頁簿的相關的已知錯誤的相關資訊 MCTS Self-Paced 訓練套件 (測驗 70-526): Microsoft.NET Framework 2.0 Windows-Based 用戶端開發,978-0-7356-2333年-0。額外的註解和更正是 929187 (http://support.microsoft.com/kb/929187) ] 中可用。

將會涵蓋下列主題:

  • 頁面 319: 序列化 」 的定義不正確
  • 頁面 340: Sql1 代替 SqlDataAdapter1 參考
  • 頁面 352: ForeignKey 類別參考 ForeignKeyConstraint 的位置
  • 頁面 360: Sql1.UpdateCommand 應該是 SqlDataAdapter1.UpdateCommand
  • 頁面 366: 程式碼會使未儲存的資料錄
  • 頁面 369: SqlDataAdapter 應該是 SqlDataAdapter1
  • 在 VB 和 C# 程式碼中所需的頁面 370: 其他提供者資訊
  • 頁面 390: C# 程式碼中包含的錯誤
  • 在程式碼範例頁面 418: 不正確的大小寫
  • 頁面 457 & 458: myReader 」 應該是 myWriter"
  • 頁面 463: InnerXml 應該是 ReadInnerXml 而且 OuterXml 應該 ReadOuterXml
  • 頁面 539: Label2"和標籤 4"應該 Label1"和 Label3"
  • 頁面 544: 不正確指令設定 MdiParent 屬性
  • 頁面 545: 在 C# 中的多個錯誤程式碼範例
  • 頁面 549: IsMdiContainer 稱為 IsMdiParent
  • 頁面 561: TabOrder"參考 TabIndex"的位置
  • 最頁面 567: 「 小"用"最大值 」 取代
  • 用 AutoPopDelay 屬性公式中的頁面 571: 不正確值
  • 頁面 581: DefaultSettings 」 應該是 [預設]
  • 頁面 597: 「 必須 」 用來取代大部分"
  • 頁面 631-632: ToolBoxBitmap 應該是 ToolboxBitmap
  • 頁面 653: 「 覆寫 」 應該是 「 覆寫"
  • 重新整理遺漏從 C# 程式碼的呼叫頁面 655:
  • 頁面 691: SplitControl 」 應該是 SplitContainer"
  • 頁面 691: TabContainer 」 應該是 TabControl"
  • 頁面 707: ODBC 應該是 Oracle,反之亦然
  • 頁面 723: InnerXml 應該是 ReadInnerXml 而且 OuterXml 應該 ReadOuterXml
  • 頁面 729: IsMdiContainer 稱為 IsMdiParent
  • 「 委派 」 不正確的頁面 742: 定義

其他相關資訊

頁面 319: 序列化 」 的定義不正確

在頁面 319,序列化的定義會讀取:

"鎖定會置於防止其他使用者更新的資料查詢中使用的所有資料。防止非可重複的讀取,但幽靈資料列仍可能會出現"

應該閱讀:

"範圍鎖定放在資料集防止其他使用者更新或插入到資料集的資料列,直到交易完成為止 」。

頁面 340: Sql1 代替 SqlDataAdapter1 參考

在頁面 360,第二個到最後一行 C# 程式碼範例讀取:

Sql1.UpdateCommand = UpdateCommand;

應該閱讀:

SqlDataAdapter1.UpdateCommand = UpdateCommand;


頁面 352: ForeignKey 類別參考 ForeignKeyConstraint 的位置

在頁面 352,外部 」 如何來建立了索引鍵條件約束 」 一節的第一個句子會讀取:

「 建立 ForeignKey 類別的執行個體,並指派父和子資料表的所需的資料行或資料行至條件約束建立外部索引鍵條件約束 」。

應該閱讀:

「 建立 ForeignKeyConstraint 類別的執行個體,並指派父和子資料表的所需的資料行或資料行至條件約束建立外部索引鍵條件約束 」。

頁面 360: Sql1.UpdateCommand 應該是 SqlDataAdapter1.UpdateCommand

在頁面 360,C# 範例程式碼的 「 12 行含有不正確的資料配接器

變更:
Sql1.UpdateCommand = UpdateCommand;

若要:
SqlDataAdapter1.UpdateCommand = UpdateCommand;

頁面 366: 程式碼會使未儲存的資料錄

在頁面 366,在步驟 23 最後一個 3 行在 VB 中的程式碼和 C# 程式碼範例會記錄不會儲存在步驟 27。

從 VB 範例移除下列行:
' After the row is updated reset the table to reflect the changes
NorthwindDataSet1.Customers.Clear()
SqlDataAdapter1.Fill(NorthwindDataSet1.Customers)

從 C# 範例移除下列行:
// After the row is updated reset the table to reflect the changes
northwindDataSet1.Customers.Clear();
sqlDataAdapter1.Fill(northwindDataSet1.Customers);

頁面 369: SqlDataAdapter 應該是 SqlDataAdapter1

在頁面 369 的步驟 9 的 VB 和 C# 程式碼會包含不正確的資料配接器。

變更:
' VB
Dim commands As New SqlCommandBuilder(SqlDataAdapter)

// C#
SqlCommandBuilder commands = new SqlCommandBuilder(SqlDataAdapter);

若要:
' VB
Dim commands As New SqlCommandBuilder(SqlDataAdapter1)

// C#
SqlCommandBuilder commands = new SqlCommandBuilder(SqlDataAdapter1);

在 VB 和 C# 程式碼中所需的頁面 370: 其他提供者資訊

在頁面 370,一個附註必須加入到步驟 7 讀取:

"注意: 如果您使用的 SQL Server 7、 SQL Server 2000 或 SQL Server 2005 (所有版本) 您必須變更行 5 的 VB 和 C# 程式碼提供者來代替 SQLOLEDB SQLNCLI"

頁面 390: C# 程式碼中包含的錯誤

在頁面 390,C# 程式碼的 「 第六個行遺失括號。

變更:
row = NwDataDocument.GetRowFromElement(Xml.XmlElement)xmlNode;

若要:
row = NwDataDocument.GetRowFromElement((Xml.XmlElement)xmlNode);


在程式碼範例頁面 418: 不正確的大小寫

在頁面 418,C# 程式碼範例會讀取:

customersBindingSource = New BindingSource(northwindDataSet1, "Customers");

應該閱讀:

customersBindingSource = new BindingSource(northwindDataSet1, "Customers");


頁面 457 & 458: myReader 」 應該是 myWriter"

頁面] 457 & 458 上 [VB 和 C# 程式碼範例,在頁面 457 底部開始,並繼續進行 458 上會包含不正確的方法。

變更:
' VB
myReader.WriteStartElement("FirstNames")
myReader.WriteAttributeString("Nicknames", "Ok")
myWriter.WriteElementString("Name", "Libby")
myReader.WriteEndElement()

// C#
myReader.WriteStartElement("FirstNames");
myReader.WriteAttributeString("Nicknames", "Ok");
myWriter.WriteElementString("Name", "Libby");
myReader.WriteEndElement();

若要:
' VB
myWriter.WriteStartElement("FirstNames")
myWriter.WriteAttributeString("Nicknames", "Ok")
myWriter.WriteElementString("Name", "Libby")
myWriter.WriteEndElement()

// C#
myWriter.WriteStartElement("FirstNames");
myWriter.WriteAttributeString("Nicknames", "Ok");
myWriter.WriteElementString("Name", "Libby");
myWriter.WriteEndElement();

頁面 463: InnerXml 應該是 ReadInnerXml 而且 OuterXml 應該 ReadOuterXml

在頁面 463,問題 2 的答案 C (& D 會包含不正確的方法。

變更:
C. ' VB
myReader.MoveToAttribute("length")
MsgBox(myReader.InnerXml)
// C#
myReader.MoveToAttribute("length");
MessageBox.Show(myReader.InnerXml);
D. ' VB
myReader.MoveToAttribute("length")
MsgBox(myReader.OuterXml)
// C#
myReader.MoveToAttribute("length");
MessageBox.Show(myReader.OuterXml);

到:
C. ' VB
myReader.MoveToAttribute("length")
MsgBox(myReader.ReadInnerXml)
// C#
myReader.MoveToAttribute("length");
MessageBox.Show(myReader.ReadInnerXml);
D. ' VB
myReader.MoveToAttribute("length")
MsgBox(myReader.ReadOuterXml)
// C#
myReader.MoveToAttribute("length");
MessageBox.Show(myReader.ReadOuterXml);

頁面 539: Label2"和標籤 4"應該 Label1"和 Label3"

在頁面 539,步驟 6 含有不正確的標籤名稱,資料表] 的 [標籤] 欄中。

變更:
"Label2 W?hrung 格式
Label4 Aktuelle Uhrzeit"

至:
"Label1 W?hrung-格式
Label3 Aktuelle Uhrzeit"

頁面 544: 不正確指令設定 MdiParent 屬性

在頁面 544,會讀取步驟 3:

"在父表單中的方法,例如功能表項目 Click 事件處理常式、 建立子表單的新執行個體並將其 MdiParent 屬性設定為 True,如下列範例所示:"

應該閱讀:

"在父表單中的方法,例如功能表項目 Click 事件處理常式、 建立子表單的新執行個體然後將其 MdiParent 屬性設定,如下列範例所示:"

頁面 545: 在 C# 中的多個錯誤程式碼範例

在頁面 545,在第二個 C# 程式碼範例區塊在頁面上的含有多個程式碼撰寫錯誤。

在第五個列下變更:
if (this.ActiveControl.GetType() is TextBox)

若要:
if (activeForm.ActiveControl is TextBox)

在第七列下變更:
TextBox aTextBox = (TextBox)this.ActiveControl;

若要:
TextBox aTextBox = (TextBox)activeForm.ActiveControl;


頁面 549: IsMdiContainer 稱為 IsMdiParent

在頁面 549,回答 A 至問題 1 讀取:

"將 IsMdiParent 屬性的父表單設為 True"。

應該閱讀:

"將 IsMdiContainer 屬性的父表單設為 True"。

頁面 561: TabOrder"參考 TabIndex"的位置

在頁面 561,會讀取第一個資料表的最後一個資料列的 [屬性] 資料行:

TabOrder"

應該閱讀:

TabIndex"

最頁面 567: 「 小"用"最大值 」 取代

在頁面 567,會讀取第一個段落的第三句:

則會 「 同樣,當 Value 屬性與 [最小值] 屬性的值相同 ProgressBar 控制項出現完全填滿。

應該閱讀:

則會 「 同樣,當 Value 屬性與 [最大值] 屬性的值相同 ProgressBar 控制項出現完全填滿。

用 AutoPopDelay 屬性公式中的頁面 571: 不正確值

在頁面 571,從下方的第二個段落中第四個句子不正確地指出 [AutoPopDelay 設為 5 倍 AutomaticDelay 屬性。

變更:
"AutoPopDelay 屬性設定為 5 * N 毫秒和 ReshowDelay 屬性設定為 N/5 毫秒"

至:
"AutoPopDelay 屬性設定為 10 * N 毫秒和 ReshowDelay 屬性設定為 N/5 毫秒"

頁面 581: DefaultSettings 」 應該是 [預設]

在頁面 581,頁面頂端附近 C# 程式碼範例會包含不正確的物件。

變更:
// C#
Properties.Settings.DefaultSettings.TitleSetting = "This is the new Title";
Properties.Settings.DefaultSettings.Save();

若要:
// C#
Properties.Settings.Default.TitleSetting = “This is the new Title”;
Properties.Settings.Default.TitleSetting.Save();

頁面 597: 「 必須 」 用來取代大部分"

在頁面 597,第二個段落的第二個句子會讀取:

"BackgroundWorker 支援能力取消背景處理程序,但您必須實作必須取消的自行撰寫程式碼"。

應該閱讀:

BackgroundWorker 支援能力取消背景處理程序中但您必須自行實作大部分的取消通知程式碼。

頁面 631-632: ToolBoxBitmap 應該是 ToolboxBitmap

頁面] 631 和 632 上每個程式碼範例會參考 ToolBoxBitmap,而不是 ToolboxBitmap。

變更:
' VB
<ToolBoxBitmap("C:\myToolboxBitmap.bmp")> Class myControl

若要:
' VB
<ToolboxBitmap("C:\myToolboxBitmap.bmp")> Class myControl

變更:
// C#
[ToolBoxBitmap(@"C:\myToolboxBitmap.bmp")]

若要:
// C#
[ToolboxBitmap(@"C:\myToolboxBitmap.bmp")]

頁面 653: 「 覆寫 」 應該是 「 覆寫"

在頁面 653,C# 程式碼範例中的第一行含有不正確的關鍵字。

變更:
protected overrides void OnPaint(System.Windows.Forms.PaintEventArgs pevent)

若要:
protected override void OnPaint(System.Windows.Forms.PaintEventArgs pevent)

重新整理遺漏從 C# 程式碼的呼叫頁面 655:

在頁面 655,C# 程式碼,在頁面頂端遺漏一條線。

變更:
// C#
protected override void OnClick(EventArgs e)
{
	mClicks++;
	base.OnClick(e);
}

若要:
// C#
protected override void OnClick(EventArgs e)
{
	mClicks++;
	base.OnClick(e);
	this.Refresh();
}

頁面 691: SplitControl 」 應該是 SplitContainer"

在頁面 691,情況分析藍本 1 下的第二個句子會含有無效的控制項。

變更:
"[SplitControl 中的每個 SplitterPanel 控制項然後可以主機其他容器控制項 」。

至:
"SplitContainer 控制項中的每個 SplitterPanel 控制項然後可以主機其他容器控制項 」。

頁面 691: TabContainer 」 應該是 TabControl"

在頁面 691,案例案例 2 下的第一個句子會含有無效的控制項。

變更:
"TabContainer 控制項可用來顯示多頁的資訊,並且允許使用者同時保留靜態資訊的頁面之間切換"。

至:
"TabControl 控制項可用來顯示多頁的資訊,並且允許使用者同時保留靜態資訊的頁面之間切換"。

頁面 707: ODBC 應該是 Oracle,反之亦然

在頁面 707,解釋並遵循連結內容閱讀相關說明的答案 A 和 D 的教學單元 6 的問題 1 不正確。

變更:
"答: 不正確。整合式安全性 = 是用於 ODBC 連線"

至:
"答: 不正確。整合式安全性 = 是用於 Oracle 連線"

變更:
"D.不正確。Trusted_Connection = 是用於 Oracle 連線"

至:
"D.不正確。Trusted_Connection = 是用於 ODBC 連線"

頁面 723: InnerXml 應該是 ReadInnerXml 而且 OuterXml 應該 ReadOuterXml

頁面 723 問題 2 的答案 C 和 D 包含不正確的方法。

變更:
C.更正。MoveToAttribute 方法可讓您指定屬性名稱或索引。屬性值是經由 InnerXml 屬性公開。
D.不正確。當定位屬性上,OuterXml 屬性傳回的名稱屬性,以及值"。

至:
C.更正。MoveToAttribute 方法可讓您指定屬性名稱或索引。屬性值是經由 ReadInnerXml 屬性公開。
D.不正確。當定位屬性上,ReadOuterXml 屬性傳回的名稱屬性,以及值"。

頁面 729: IsMdiContainer 稱為 IsMdiParent

在頁面 729,回答 A 質疑的第三課讀取 1:

「 更正。您,必須建立父表單 IsMdiParent 屬性設定為 True。

應該閱讀:

「 更正。您,必須建立父表單 IsMdiContainer 屬性設定為 True。

「 委派 」 不正確的頁面 742: 定義

在頁面 742,會讀取 「 委派 」 的定義:

"類型日期函式指標,可用來同步或非同步呼叫方法"。

應該閱讀:

「 型別安全函式指標,可用來同步或非同步呼叫方法"。

Microsoft 按將致力於提供有用的資訊和精確的書籍。所有註解和更正上列準備就緒可納入本書的未來 printings。如果您本書的再版它可能已經包含大部分或所有上述的更正。

這篇文章中的資訊適用於:
  • MCTS Self-Paced Training Kit (Exam 70-526): Microsoft .NET Framework 2.0 Windows-Based Client Development, ISBN 0-7356-2333-3
關鍵字:?
kbmt KB949738 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:949738? (http://support.microsoft.com/kb/949738/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。