ID do artigo: 949738 - Última revisão: terça-feira, 26 de fevereiro de 2008 - Revisão: 1.1

MCTS Paced Training Kit (exame 70-526): correções e comentários de desenvolvimento de cliente do Microsoft.NET Framework 2.0 Windows-Based parte 2

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Recolher tudo

Sumário

Este artigo contém comentários, correções e informações sobre erros conhecidos relacionados ao livro da Microsoft Press MCTS Paced Training Kit (exame 70-526): desenvolvimento de cliente do Microsoft.NET Framework 2.0 Windows-Based , 978-0-7356-2333-0.Correções e comentários adicionais estão disponíveis no 929187 (http://support.microsoft.com/kb/929187) .

Os seguintes tópicos são abordados:

  • Página 319: Definição de "Serializable" está incorreta
  • Página 340: Sql1 referenciado no lugar do SqlDataAdapter1
  • Página 352: ForeignKey classe mencionada no lugar do ForeignKeyConstraint
  • Página 360: Sql1.UpdateCommand deve ser SqlDataAdapter1.UpdateCommand
  • Página 366: Código faz com que registros para não salvar
  • Página 369: SqlDataAdapter deve ser SqlDataAdapter1
  • Página 370: Provedor adicionais informações necessárias no código VB e translation from VPE for Csharp
  • Página 390: Translation from VPE for Csharp código contém um erro
  • Página 418: Capitalização incorreta no exemplo de código
  • Páginas 457 & 458: "myReader" deve ser "myWriter"
  • Página 463: InnerXml deve ser ReadInnerXml e OuterXml deve ser ReadOuterXml
  • Página 539: "Label2" e "Rótulo 4" devem ser "Label1" e "Label3"
  • Página 544: Instrução incorreta para definir a propriedade MdiParent
  • Página 545: Vários erros no exemplo de código translation from VPE for Csharp
  • Página 549: IsMdiContainer conhecido como IsMdiParent
  • Página 561: "OrdemDeTabulação" referenciado no lugar de "TabIndex"
  • Página 567: "mínimo" usado no lugar de "Máximo"
  • 571 De página: Valor incorreto usado na fórmula de propriedade de AutoPopDelay
  • Página 581: "DefaultSettings" devem ser de "Padrão"
  • Página 597: "deve" é usado no lugar de "maioria"
  • 631 Páginas-632: ToolBoxBitmap deve ser ToolboxBitmap
  • 653 De página: uma "substituições" devem ser "substituir"
  • Página 655: Chamada para atualização ausente do código translation from VPE for Csharp
  • 691 De página: "SplitControl" deve ser "SplitContainer"
  • 691 De página: "TabContainer" deve ser "TabControl"
  • Página 707: ODBC deve ser Oracle e vice-versa
  • Página 723: InnerXml deve ser ReadInnerXml e OuterXml deve ser ReadOuterXml
  • Página 729: IsMdiContainer conhecido como IsMdiParent
  • Página 742: Definição de "representante" incorreto

Mais Informações

Página 319: Definição de "Serializable" está incorreta

Na página 319, a definição de Serializable lê:

"Bloqueios são colocados em todos os dados que são usados em uma consulta, impedindo que outros usuários atualizar os dados. Evita leituras não repetíveis mas fantasma linhas ainda são possíveis. "

Ele deve ler:

"Um bloqueio de intervalo é colocado no DataSet, impedindo que outros usuários de atualizar ou inserir linhas no dataset até que a transação seja concluída."

Página 340: Sql1 referenciado no lugar do SqlDataAdapter1

Na página 360, a segunda a última linha do código translation from VPE for Csharp exemplo lê:

Sql1.UpdateCommand = UpdateCommand;

Ele deve ler:

SqlDataAdapter1.UpdateCommand = UpdateCommand;


Página 352: ForeignKey classe mencionada no lugar do ForeignKeyConstraint

Na página 352, lê a primeira sentença da seção "Como criar uma restrição de chave externa":

"Criar restrições de chave externa criando uma instância da classe ForeignKey e atribuindo a coluna desejada ou as colunas das tabelas pai e filho para a restrição."

Ele deve ler:

"Criar restrições de chave externa criando uma instância da classe ForeignKeyConstraint e atribuindo a coluna desejada ou as colunas das tabelas pai e filho para a restrição."

Página 360: Sql1.UpdateCommand deve ser SqlDataAdapter1.UpdateCommand

Na página 360, a linha 12 no código de exemplo translation from VPE for Csharp contém um DataAdapter incorreto

Alteração:
Sql1.UpdateCommand = UpdateCommand;

Para:
SqlDataAdapter1.UpdateCommand = UpdateCommand;

Página 366: Código faz com que registros para não salvar

Na página 366, etapa 23 3 última linhas de código no código do VB e translation from VPE for Csharp exemplo faz registros para não ser salvo na etapa 27.

Remova as seguintes linhas do exemplo VB:
' After the row is updated reset the table to reflect the changes
NorthwindDataSet1.Customers.Clear()
SqlDataAdapter1.Fill(NorthwindDataSet1.Customers)

Remova as seguintes linhas do exemplo translation from VPE for Csharp:
// After the row is updated reset the table to reflect the changes
northwindDataSet1.Customers.Clear();
sqlDataAdapter1.Fill(northwindDataSet1.Customers);

Página 369: SqlDataAdapter deve ser SqlDataAdapter1

Na página 369, o código VB e translation from VPE for Csharp da etapa 9 contêm um DataAdapter incorreto.

Alteração:
' VB
Dim commands As New SqlCommandBuilder(SqlDataAdapter)

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

Para:
' VB
Dim commands As New SqlCommandBuilder(SqlDataAdapter1)

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

Página 370: Provedor adicionais informações necessárias no código VB e translation from VPE for Csharp

Na página 370, uma observação precisa ser adicionado para a etapa 7 que lê:

"Observação: se você estiver usando o SQL Server 7, SQL Server 2000 ou SQL Server 2005 (todas as edições) você deve alterar o provedor no linha 5 do código VB e translation from VPE for Csharp para SQLNCLI em vez de SQLOLEDB."

Página 390: Translation from VPE for Csharp código contém um erro

Na página 390, a linha 6 º no código translation from VPE for Csharp faltam colchetes.

Alteração:
row = NwDataDocument.GetRowFromElement(Xml.XmlElement)xmlNode;

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


Página 418: Capitalização incorreta no exemplo de código

Na página 418, o exemplo de código translation from VPE for Csharp lê:

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

Ele deve ler:

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


Páginas 457 & 458: "myReader" deve ser "myWriter"

Em páginas 457 & 458, os exemplos de código VB e translation from VPE for Csharp que iniciar na parte inferior da página 457 e continuam com 458 contêm métodos incorretos.

Alteração:
' 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();

Para:
' 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();

Página 463: InnerXml deve ser ReadInnerXml e OuterXml deve ser ReadOuterXml

Na página 463, respostas C & D a pergunta 2 contêm métodos incorretos.

Alteração:
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);

Para:
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);

Página 539: "Label2" e "Rótulo 4" devem ser "Label1" e "Label3"

Na página 539, etapa 6 contém nomes de rótulo incorretos na coluna rótulo da tabela.

Alteração:
"Label2 Währung Formatar
Label4 Aktuelle Uhrzeit "

Para:
"Label1 Währung-Format
Label3 Aktuelle Uhrzeit "

Página 544: Instrução incorreta para definir a propriedade MdiParent

Na página 544, lê a etapa 3:

"Em um método no formulário pai, como um item de menu clique manipulador de eventos, criar uma nova instância do formulário filho e defina sua MdiParent propriedade como True, conforme o exemplo a seguir:"

Ele deve ler:

"Em um método no formulário pai, como um item de menu clique manipulador de eventos, criar uma nova instância do formulário filho e defina sua propriedade MdiParent, conforme mostrado no exemplo a seguir:"

Página 545: Vários erros no exemplo de código translation from VPE for Csharp

Na página 545, o bloco de exemplo de código translation from VPE for Csharp segundo na página contém vários erros de codificação.

Na linha 5 para baixo de alteração:
if (this.ActiveControl.GetType() is TextBox)

Para:
if (activeForm.ActiveControl is TextBox)

Na linha 7 para baixo de alteração:
TextBox aTextBox = (TextBox)this.ActiveControl;

Para:
TextBox aTextBox = (TextBox)activeForm.ActiveControl;


Página 549: IsMdiContainer conhecido como IsMdiParent

Na página 549, responda A pergunta 1 leituras:

"Defina a propriedade IsMdiParent do formulário pai como True."

Ele deve ler:

"Defina a propriedade IsMdiContainer do formulário pai como True."

Página 561: "OrdemDeTabulação" referenciado no lugar de "TabIndex"

Na página 561, a coluna de propriedade na última linha da primeira tabela lê:

"TabOrder"

Ele deve ler:

"TabIndex"

Página 567: "mínimo" usado no lugar de "Máximo"

Na página 567, lê a terceira frase do primeiro parágrafo:

"Da mesma forma, quando a propriedade Value é o mesmo valor como a propriedade mínimo, o controle ProgressBar aparece completamente preenchido."

Ele deve ler:

"Da mesma forma, quando a propriedade valor é o mesmo valor que a propriedade máximo, o controle ProgressBar aparece completamente preenchido."

571 De página: Valor incorreto usado na fórmula de propriedade de AutoPopDelay

Na página 571, a frase do segundo parágrafo da parte inferior 4 º afirma incorretamente que o AutoPopDelay é definida como 5 vezes a propriedade AutomaticDelay.

Alteração:
"A propriedade AutoPopDelay é definida como 5 * N milissegundos e ReshowDelay propriedade é definida como N/5 milissegundos."

Para:
"A propriedade AutoPopDelay é definida como 10 * N milissegundos e ReshowDelay propriedade é definida como N/5 milissegundos."

Página 581: "DefaultSettings" devem ser de "Padrão"

Na página 581, o exemplo de código translation from VPE for Csharp no topo da página contém um objeto incorreto.

Alteração:
// C#
Properties.Settings.DefaultSettings.TitleSetting = "This is the new Title";
Properties.Settings.DefaultSettings.Save();

Para:
// C#
Properties.Settings.Default.TitleSetting = ?This is the new Title?;
Properties.Settings.Default.TitleSetting.Save();

Página 597: "deve" é usado no lugar de "maioria"

Na página 597, a segunda frase do segundo parágrafo lê:

"BackgroundWorker oferece suporte a capacidade de cancelar um processo de plano de fundo, mas você deve implementar deve do cancelamento código você mesmo."

Ele deve ler:

"BackgroundWorker oferece suporte à capacidade para cancelar um processo de plano de fundo, mas você deve implementar maior parte do código cancelamento".

631 Páginas-632: ToolBoxBitmap deve ser ToolboxBitmap

Em páginas 631 e 632, cada um dos exemplos de código faz referência ToolBoxBitmap em vez de ToolboxBitmap.

Alteração:
' VB
<ToolBoxBitmap("C:\myToolboxBitmap.bmp")> Class myControl

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

Alteração:
// C#
[ToolBoxBitmap(@"C:\myToolboxBitmap.bmp")]

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

653 De página: uma "substituições" devem ser "substituir"

Na página 653, a primeira linha no exemplo de código translation from VPE for Csharp contém uma palavra-chave incorreta.

Alteração:
protected overrides void OnPaint(System.Windows.Forms.PaintEventArgs pevent)

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

Página 655: Chamada para atualização ausente do código translation from VPE for Csharp

Na página 655, o código translation from VPE for Csharp na parte superior da página está faltando uma linha.

Alteração:
// C#
protected override void OnClick(EventArgs e)
{
	mClicks++;
	base.OnClick(e);
}

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

691 De página: "SplitControl" deve ser "SplitContainer"

Na página 691, a segunda frase em caso de cenário 1 contém um controle inválido.

Alteração:
"Cada controle SplitterPanel o SplitControl pode em seguida, controles de recipiente adicional de host."

Para:
"Cada controle SplitterPanel no controle SplitContainer pode em seguida, controles de recipiente adicional de host."

691 De página: "TabContainer" deve ser "TabControl"

Na página 691, a primeira frase em caso de cenário 2 contém um controle inválido.

Alteração:
"O controle TabContainer pode ser usado para exibir várias páginas de informações e permitir que o usuário alterne entre as páginas mantendo as informações estáticas."

Para:
"O controle TabControl pode ser usado para exibir várias páginas de informações e permitir que o usuário alterne entre as páginas mantendo as informações estáticas."

Página 707: ODBC deve ser Oracle e vice-versa

Na página 707, as explicações para respostas A e D para a pergunta 1 de 6 lição estão incorretas.

Alteração:
"R. incorreta. Segurança integrada = yes é usado para conexões ODBC. "

Para:
"R. incorreta. Segurança integrada = yes é usado para conexões do Oracle. "

Alteração:
"D. incorreta. Trusted_Connection = yes é usado para conexões do Oracle. "

Para:
"D. incorreta. Trusted_Connection = yes é usado para conexões ODBC. "

Página 723: InnerXml deve ser ReadInnerXml e OuterXml deve ser ReadOuterXml

723 De página, as respostas C & D a pergunta 2 contêm métodos incorretos.

Alteração:
"C. correto. O método MoveToAttribute permite que você especifique um nome de atributo ou o índice. O valor do atributo é exposto por meio da propriedade InnerXml.
D. incorreto. Quando posicionado em um atributo, a propriedade OuterXml retorna o nome do atributo, bem como o valor."

Para:
"C. correto. O método MoveToAttribute permite que você especifique um nome de atributo ou o índice. O valor do atributo é exposto por meio da propriedade ReadInnerXml.
D. incorreto. Quando posicionado em um atributo, a propriedade ReadOuterXml retorna o nome do atributo, bem como o valor."

Página 729: IsMdiContainer conhecido como IsMdiParent

Na página 729, responda A pergunta 1 de leituras de lição 3:

"Corrigir. Você deve criar um formulário pai, definindo a propriedade IsMdiParent como True."

Ele deve ler:

"Corrigir. Você deve criar um formulário pai, definindo a propriedade IsMdiContainer como True."

Página 742: Definição de "representante" incorreto

Na página 742, lê a definição de "representante":

"Um data de tipo de ponteiro de função que pode ser usado para chamar um método de forma síncrona ou assíncrona."

Ele deve ler:

"Um ponteiro de função de segurança de tipos que pode ser usado para chamar um método de forma síncrona ou assíncrona."

Microsoft Press está comprometida em fornecer livros informativos e precisos. Todos os comentários e as correções listadas acima estão prontas para inclusão em impressões em futuras deste livro. Se você tiver um impressão mais recente deste livro, ele já pode conter a maioria ou todas as correções acima.

A informação contida neste artigo aplica-se a:
  • MCTS Self-Paced Training Kit (Exam 70-526): Microsoft .NET Framework 2.0 Windows-Based Client Development, ISBN 0-7356-2333-3
Palavras-chave: 
kbmt KB949738 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 949738  (http://support.microsoft.com/kb/949738/en-us/ )