NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosNet : Sistemanoticias005
Quer receber novidades e e-books gratuitos?

Construindo um sistema de publicação de notícias – Parte V

Ola pessoal,

Na última parte deste tutorial havíamos implementado a página de inserção de categorias. Hoje vou disponibilizar o código para a inserção de Usuários, e teremos algumas novidades em relação ao ADO.net

Abra o arquivo cadUsuarios.aspx.

Clique no botão View Code para visualizar o código da página.

Adicione uma nova rotina ao seu código, chamada adicionarUsuario, juntamente com os parâmetros necessários para a execução do código. Veja abaixo:

private void adicionarUsuario(string NomeDoUsuario,string Login,string Senha,int CategoriaDeAcesso)

            {

                  ///cria a variável que servirá como instãncia para o objeto de conexão.

                  OleDbConnection Conexao;

                  ///Constrói o objeto de conexão

                  Conexao=new OleDbConnection();

                  ///Obtém a string de conexão que foi criada no arquivo Web.config

Conexao.ConnectionString=System.Configuration.ConfigurationSettings.
AppSettings["stringDeConexao"];

                  ///cria a variável que servirá como instância para o objeto de comando.

                  OleDbCommand Comando;

                  ///Constrói o objeto de comando.

                  Comando=new OleDbCommand();

                  ///configura as propriedades para a execução do comando.

                  ///Tipo de comando a ser executado

                  Comando.CommandType=CommandType.Text;

                  ///Conexão que está sendo utilizada.

                  Comando.Connection=Conexao;

                  ///Cria a string de execução do código sql

                  System.Text.StringBuilder strSql=new System.Text.StringBuilder();

                  ///Monta a string de execução do código de inserção.

                  strSql.Append("Insert Into TbUsuarios");            

                  strSql.Append(" (Nome,Login,Senha,CategoriaDeAcesso)Values");

                  strSql.Append("('" + NomeDoUsuario +"',");

                  strSql.Append("'" + Login +"',");

                  strSql.Append("'" + Senha +"',");

                  strSql.Append("" + CategoriaDeAcesso +")");

                  ///Comando sql a ser executado no banco de dados.

                  Comando.CommandText=strSql.ToString();

                  ///bloco de tratamento de exceções. Iremos tratar qualquer tipo de exceção que ocorrer.

                  try

                  {

                        ///Este bloco de código será executado caso não haja exceções.

                        ///Abre a conexão

                        Conexao.Open();

                        ///Executa o comando no banco de dados.

                        Comando.ExecuteNonQuery();

                        ///Envia resposta ao cliente, através de uma mensagem JavaScript.

                        Response.Write("<script>alert('O novo usuário foi adicionado com sucesso!')</script>");

                        ///Limpa os campos.

                        txtNome.Text=string.Empty;

                        txtLogin.Text=string.Empty;

                        txtSenha.Text=string.Empty;

                  }

                  catch(Exception erro)

                  {

                        ///Este bloco define o que acontecerá caso aconteça uma exceção.

                        Response.Write("<script>alert('Ocorreu um erro ao executar o comando!')</script>");

                        Response.Write(erro.Message);

                  }

                  finally

                  {

                        ///Este bloco garante a execução dos códigos abaixo independente se houver exceção.

                        ///Fecha a conexão.

                        Conexao.Close();

                        ///Elimina os objetos da memória.

                        Conexao.Dispose();

                        Comando.Dispose();

                  }

            }

Vejam que temos uma novidade no código. Ao passar a string a ser executada no banco de dados, utilizamos um novo objeto, o StringBuilder, contido no namespace System.Text.

Geralmente, utilizamos este objeto quando precisamos concatenar strings extensas, como é o caso desta. O método Append vai adicionando um novo bloco de strings no final do bloco anterior. Outra grande vantagem de sua utilização está na performance de execução. Então não esqueça, sempre que precisar utilizar um bloco de concatenação de strings, utilize o StringBuilder.

Bem, o nosso código ainda não está completo. Note que ao executar a página cadUsuarios.aspx, o controle dropCategorias estará sem valores, ou seja, não está carregando os valores que estão no banco de dados, cadastrados na tabela TbCategorias. Teremos que criar uma rotina que faça isso assim que a página carregar.

Esta nova rotina também contém novidades, mas que a explicaremos mais adiante, na próxima etapa deste tutorial.

Adicione a seguinte rotina ao seu código:

private void popularCategorias()

            {

                  ///cria a variável que servirá como instãncia para o objeto de conexão.

                  OleDbConnection Conexao;

                  ///Constrói o objeto de conexão

                  Conexao=new OleDbConnection();

                  ///Obtém a string de conexão que foi criada no arquivo Web.config

Conexao.ConnectionString=System.Configuration.ConfigurationSettings.
AppSettings["stringDeConexao"];

                  ///cria a variável que servirá como instância para o objeto adaptador de dados.

                  OleDbDataAdapter adp;

                  ///Constrói o objeto adaptador de dados

                  adp=new OleDbDataAdapter("Select IDCategoria,Nome from TbCategorias",Conexao);

                  ///Cria o Dataset, ou o banco de dados virtual

                  DataSet ds=new DataSet();

                  ///Popula o Dataset com uma tabela chamada categorias

                  adp.Fill(ds,"Categorias");

                  ///Exibe o nome da categoria no controle dropCategorias

                  dropCategorias.DataTextField="Nome";

                  ///Anexa o código da categoria ao controle dropCategorias

                  dropCategorias.DataValueField="IDCategoria";

                  ///Indica a fonte de dados que irá popular o controle dropCategorias

                  dropCategorias.DataSource=ds.Tables["Categorias"];

                  ///Renderiza o controle

                  dropCategorias.DataBind();

            }

Ok, agora para executar realmente a inserção, devemos chamar a rotina adicionarUsuario no evento click do botão bntSalvar, sem esquecer de passar os parâmetros.

private void btnSalvar_Click(object sender, System.EventArgs e)

            {

adicionarUsuario(txtNome.Text,txtLogin.Text,txtSenha.Text,Convert.ToInt32
(dropCategorias.SelectedItem.Value));

            }

Para o carregamento das categorias, devemos chamar a rotina popularCategorias no evento PageLoad.

private void Page_Load(object sender, System.EventArgs e)

            {

                  if(!Page.IsPostBack)

                  {

                        popularCategorias();

                  }

            }

A instrução !Page.IsPostBack garante que o trecho em questão só será executado na primeira vez que a página carregar.

Agora vamos aos testes

Carregando a página:

Vejam que o controle dropCategorias carregou corretamente.

Agora, tente cadastrar um novo Usuário.

Clique em Salvar:

Vejam que funcionou corretamente. Desta forma, encerramos aqui mais uma parte deste tutorial. Na próxima etapa concluiremos os cadastros, abordando também alguns detalhes sobre o objeto DataSet, então, não percam.

Em caso de dúvidas, basta mandar um e-mail para lanodecastro@hotmail.com

Lano de Castro

1 Visão geral do .NET Framework e do CLR
1 Comunicação .NET e VB 6.0 (com Visual Studio.NET 2005) - Parte I
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 1
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 2
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 3
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 4
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 5
1 VB: Menu Principal, Menu PopUp e Arquivos Texto
Visual Studio
1 ASP.NET 2.0 - Conhecendo o ObjectDataSource Control
1 Visual Web Developer - 2005 - Beta 2 - Introdução
1 ASP.NET 2.0 - Conhecendo o GridView
1 ASP.NET 2.0 - Utilizando o GridView e DetailsView
1 ASP.NET 2.0 - Conhecendo o ObjectDataSource Control - Parte 2
1 ASP.NET 2.0 - Utilizando o XmlDataSource
1 Envio de e-mail através de formulário web
1 ADO.NET 2.0 - Conhecendo as novidades parte 1
1 Série Visual Source Safe - Parte 1
1 Série Visual Source Safe - Parte 3
1 URL Indexável – Reescrever URL de uma forma amigável
1 Permissão de Página Utilizando Web.Config
1 Usando public interface
1 Trabalhando com o componente TabContainer
1 Adicionando Menu no DataGridView
ASP.NET
1 Conhecendo o ambiente integrado do WebMatrix
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte I
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte II
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte III
1 Acessando um banco de dados facilmente com ADO.Net e Datagrid
1 Desvendando os segredos do Dataset- Parte I
1 Construindo um Sistema de Publicação de Notícias – Parte 1
1 Construindo um Sistema de Publicação de Notícias – Parte 2
1 Construindo um Sistema de Publicação de Notícias – Parte 3
1 Construindo um Sistema de Publicação de Notícias – Parte 4
1 Construindo um Sistema de Publicação de Notícias – Parte 5
1 Login com Perfil de Acesso
1 Guest Book com XML - Parte 1
1 Guest Book com XML - Parte 2
1 Agendando Datas no Calendário com XML
1 Filtrando e Organizando Dados com o Controle DataView
1 Lista de Dados com Subitens – Parte 1
1 Lista de Dados com Subitens – Parte 2
1 Trabalhando com Arquivos e Diretórios – Parte 1
1 Trabalhando com Arquivos e Diretórios – Parte 2
1 Trabalhando com Arquivos e Diretórios – Parte 3
1 Sistema de Enquetes baseado em WebServices – Parte 1
1 Sistema de Enquetes baseado em WebServices – Parte 2
1 Sistema de Enquetes baseado em WebServices – Parte 3
1 Upload de Arquivos
1 Crie seu próprio código de verificação
1 Login e Senha com FormsAuthentication – Parte 1
1 Login e Senha com FormsAuthentication – Parte 2
1 Sistema de Enquetes baseado em WebServices – Parte 4
1 Sistema de Enquetes baseado em WebServices – Parte 5
1 Sistema de Enquetes baseado em WebServices – Parte 6