domingo, 1 de agosto de 2010

Um pouco sobre Aplicações WPF


Salve, salve amigos,

O WPF (Windows Presentation Foundation) foi uma das grandes novidades do lançamento das versões 3.0 e 3.5 da plataforma .NET Framework. Na versão 2008 do Visual Studio já podemos desenvolver aplicações WPF com recursos nativos, possibilitando o desenvolvimento de uma camada de apresentação de altíssima qualidade para as nossas aplicações.


Uma aplicação WPF, será composta de um conjunto de páginas ou janelas XAML (eXtensible Application Markup Language) e o código gerenciado relacionado (code-behind).

As funcionalidades que um conjunto de páginas oferece são bem limitadas. É os conhecidos problemas que temos em aplicações Web, como a preservação do estado da página entre os posts, a passagem de dados entre as páginas da mesma aplicação, o gerenciamento de variáveis de nível global, entre outros problemas que assombram os programadores Web há algum tempo.


WPF vai um pouco, além disso, com ele podemos criar o nosso conjunto de páginas em uma aplicação de uma maneira mais tradicional, como é o caso das aplicações Windows Forms.

Pensando dessa forma, uma página XAML é como se fosse um Form de um Windows Application. Sendo assim, enquanto uma aplicação Windows Forms coloca em um executável um conjunto de Forms, uma aplicação WPF coloca em um mesmo executável um conjunto de páginas/janelas XAML.


Também não podemos esquecer que é possível criar três tipos de aplicações possíveis com o uso do WPF / XAML. Temos as aplicações Standalone, que são como aplicações Windows Forms que rodam em janelas do Windows.


Temos as aplicações XBAPs (XAML Browser Applications) que rodam no browser, porém apenas dentro da plataforma Microsoft. Para as aplicações XBAPs o usuário precisa ter o .NET Framework  instalado em seu computador.


E por fim temos o Silverlight, que também são aplicações desenvolvidas com XAML, porém rodam em outras plataformas que não a da Microsoft, e em um número maior de browsers. Os usuários destas aplicações precisam apenas instalar o Silverlight em seus computadores.

Take care

Mini-Curso C# - Parte #10 - ADO.NET - Exemplo 2

Novo exemplo.

Inicie uma nova aplicação Web Site, insera os seguintes componentes (TextBox - Button - Label) e siga o layout abaixo.










No click do evento do Button1, faça.
















No click do evento do Button2, faça. 









Compile e teste a aplicação.
Take care

Mini-Curso C# - Parte #9 - ADO.NET - Exemplo 1

Olá amigos,
Neste exemplo, vou demonstrar como criar uma conexão em ADO.NET utilizando um DataReader. 
Este exemplo será desenvolvido em WebForms com Banco de Dados SQL Server 2008.
Após criar uma aplicação ASP Net WebSite, você deve configurar sua connection string da seguinte forma:
Faça a configuração no seu arquivo WebConfig conforme image abaixo.







Voce pode alterar diretamentente no arquivo webConfig conforme acima ou arrastar uma tabela do seu banco de dados atraves de uma conexao via solution explorer.  Veja a figura abaixo.  














Desta forma, sua connection String do seu arquivo Web.Config, será configurada automaticamente.
Neste exemplo, eu criei uma funcão chamada GetConexaoString(), resposanvel por  esta tarefa. Em outros exemplos, estarei realizando uma outra forma.
Dica: Mantmor-PC é minha máquina ou seja, meu servidor.  Você deve colocar o seu servidor e instancia do SQL Server.
Initial Catalog é o nome do seu Banco de Dados.
Integrated Security é a segurança integrada via Windows(logon) ou via Sql Server. No meu caso via Windows. 
No evento do Page_Load, digite conforme imagem abaixo.





















Agora, compile e veja o resultado.
Um forte abraço.
Take care

Mini-Curso C# - Parte #8 - ADO.NET

Dicas para utilizar melhor o DataReader
By - Marcoratti
 
  • O DataReader deve ser fechado antes de acessar qualquer parâmetro de saida para um Command associado.
  • Sempre feche o DataReader quando você terminou de ler os dados. Se a conexão que você esta usando é usada somente para retornar o DataReader feche a conexão imediatamente depois de fechar o DataReader.
  • Somente um DataReader pode ser aberto de cada vez.
  • Ao acessar os dados de uma coluna use os conectores tipados como GetString, GetInt32 ao invés de GetValue.
  • Se você estiver terminando de ler dados de um DataAdapter mas ainda tem uma grande quantidade de dados não lidos pendentes, use o comando Cancel no Command antes de efetuar o Close no DataReader. Se você dar um close no DataReader isto provocará o retorno dos dados pendentes antes de fechar o cursor. Ao usar o Cancel no Command você estará descartando os dados pendentes que o DataReader ainda não leu quando ele foi fechado.

Boas práticas  para acesso a dados com ADO.NET

  • Abra conexões o mais tarde possível e Feche as conexões o mais cedo possível;
  • Em operações que envolvam alterações de dados (UPDATE, INSERT, DELETE) em mais de uma tabela simultaneamente sempre utilize Transações;
  • De forma geral todas as tabelas devem possuir uma chave primária
  • Ao montar instruções SQL dê preferência a utilização de parâmetros nas strings SQL e evite a concatenação de strings. Desta forma evita-se erros e ataques de injeção SQL. A utilização de parâmetros permite que o SGBD compile o código SQL apenas uma vez;
  • Ao utilizar o operador LIKE em instruções SQL a string usada na cláusula é o símbolo % e não o *. O correto é : SELECT nome FROM tabela where nome like 'Mac%'
  • Procure construir filtros e ordenações diretamente na instrução SQL , usando as cláusulas WHERE, ORDER e GROUP e não via código;
  • Procure evitar o uso do coringa (*) em instruções SQL com SELECT procurando nomear os campos que deseja obter da base de dados e sempre usando uma condição para evitar que todos os registros sejam selecionados. Evite : SELECT * from Tabela.
   
Take care