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: PrincipalTutoriaisLanodecastro : Sistemanoticias005
Quer receber novidades e e-books gratuitos?

FILTRO DE TUTORIAIS:


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

 

Quer receber novidades e e-books gratuitos?

Cursos Online

  • Banco de Dados
  • Carreira
  • Criação/Web
  • Excel/Projetos
  • Formação
  • + Todas as categorias
  • Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

    Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

    Todos os direitos reservados, Júlio Battisti 2001-2020 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI