AS EMPRESAS ESTÃO "DESESPERADAS" POR ESTE TIPO DE PROFISSIONAL... - VOCÊ É UM DELES?

MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI - O Conhecimento que Vira Dinheiro - CLIQUE AQUI

Você está em: PrincipalArtigosLivrodelphibd › Capítulo 2 : 03
Quer receber novidades e e-books gratuitos?
« Anterior Δ Página principal ¤ Índice Próxima »
Delphi com Banco de Dados
Autor: Rodrigo Costa e Silvio Ferreira
Lição 09 de 33 - Inserindo dados

No capítulo anterior vimos como recuperar informações de um banco de dados com o Delphi através de seus componentes e da instrução SELECT. Neste capítulo iremos aprender como inserir informações em banco de dados com o Delphi usando a instrução INSERT.

Vamos primeiro programar a tela do cadastro de Empresas e depois programamos as telas de Motoristas e de Ônibus.

Para incluir informações em uma tabela, o usuário vai precisar de campos de entrada de dados, portanto vamos incluir alguns objetos que permitirão o usuário digitar as informações desejadas.

A tabela Empresas possui 2 colunas, e por isso precisaremos disponibilizar 2 campos para o usuário preencher. Insira dois objetos Edit (guia Standard).

Renomeie os objetos através da propriedade Name para “edt_cod” e “edt_nome” respectivamente. Limpe o conteúdo da propriedade Text de ambos os Edit’s, pois esta propriedade é a responsável por armazenar o texto que foi digitado para o usuário e por isso deve estar vazia para o usuário digitar o que desejar. Altere a propriedade MaxLength do edt_cod para 10 e do edt_nome para 30. Esta propriedade define a quantidade máxima de caracteres que podem ser digitados em um Edit. Insira também dois objetos Label (guia Standard), um para cada Edit. Altere a propriedade Caption deles para “Código” e “Nome” respectivamente.

Organize os objetos conforme exibido na figura abaixo.

Nós já temos um objeto ADOQuery que realiza o SELECT para visualização dos registros existentes na tabela Empresas do banco de dados Rodoviaria, agora precisaremos de outro objeto ADOQuery para executar a instrução INSERT e os demais comandos SQL (UPDATE e DELETE) necessários para a funcionalidade desta tela. Insira então um objeto ADOQuery, altere a propriedade Name dele para adoquery_aux (“aux” de auxiliar, pois vai nos auxiliar a executar as instruções SQL) e selecione o objeto ConexaoDB na propriedade Connection para ligá-lo ao objeto ADOConnection que está no form_menu.

Além dos objetos para entrada de dados e do adoquery, precisaremos de um botão para disparar o comando INSERT. Insira um objeto BitBtn ao form_empresas, altere a propriedade Name dele para “btn_inserir” e Caption para “Inserir”. No evento OnClick do btn_inserir digite o código abaixo:

As linhas começadas com “//” são comentários e por isso não são executadas pelo Delphi, elas servem para documentar o código e explicar o que ele está fazendo. Você pode alterar as cores de letra e background dos comentários através do menu do Delphi Tools > Editor Options.

Após digitar o código acima, salve todas as alterações clicando sobre o botão Save All. Em seguida execute o projeto para testar a nova funcionalidade.

Insira mais alguns registros para testar a aplicação. Apenas certifique-se de que não vai inserir uma empresa com um código que já esteja cadastrado, do contrário ocorrerá um erro de violação de chave primária. Mais adiante neste curso veremos como tratar erros de banco de dados.

Vamos agora programar a mesma funcionalidade para a tela de Motoristas. Repita os mesmos procedimentos adotados para a tela de Empresas, obviamente aplicando as particularidades da tabela Motoristas.

A tela deve ficar semelhante à exibida na figura abaixo:

No evento OnClick do botão Inserir digite o código exibido na imagem abaixo.

OBS.: Neste código retiramos os comentários para diminuir o tamanho da imagem e, além disso, é praticamente idêntico ao código do botão Inserir da tela de Empresas, portanto segue a mesma explicação.

Salve as alterações e execute a aplicação para testar a nova funcionalidade.

Agora criaremos a funcionalidade de Inclusão para o cadastro de Ônibus. Vamos incluir os campos para entrada de dados da tabela Onibus do banco de dados Rodoviaria.

Insira dois objetos Edit ao form_onibus, um para o usuário digitar o número do ônibus e o outro para o usuário digitar o trajeto do mesmo. Altere a propriedade Name deles para “edt_num” e “edt_trajeto” respectivamente. Para os outros dois campos da tabela: num_motorista e cod_empresa, usaremos o objeto ComboBox (guia Standard), pois como estas informações já estão cadastradas, iremos exibir uma lista para que o usuário selecione a que desejar. Insira dois objetos ComboBox, um para o motorista e o outro para a empresa.

Altere a propriedade Name deles para “cb_motorista” e “cb_empresa” respectivamente. Também limpe a propriedade Text de ambos e insira objetos Label para todos os campos. Insira um botão para inserir e um ADOQuery conforme fizemos para as outras telas, não se esqueça de configurar suas propriedades. Organize os objetos conforme exibido na imagem abaixo:

Esta tela não será tão simples como as outras, pois iremos exibir informações de outras tabelas através dos objetos combobox o que exigirá uma programação mais elaborada. Vamos alimentar os objetos ComboBox quando o a tela de ônibus for exibida, para isto adicione o código abaixo no evento OnShow do form_menu:

  //Limpa o combobox de motoristas
  cb_motorista.Clear;
  // Define o SELECT para obter o nome dos motoristas
  adoquery_aux.SQL.Text:='SELECT NOME FROM MOTORISTAS ORDER BY NOME';
  // Abre a query com o Select definido
  adoquery_aux.Open;
  // Enquanto não chegar ao final da query faça...
  While Not ADOQuery_aux.Eof do
  begin
      // Adiciona ao combobox o nome do motorista do registro corrente
      cb_motorista.Items.Add(adoquery_aux.fieldbyname('NOME').AsString);
      // Passa para o próximo registro da query
      adoquery_aux.Next;
  end;
  // Fecha a query de motoristas
  adoquery_aux.close;

  // Limpa o combobox de empresas
  cb_empresa.Clear;
  // Define o Select para obter o nome das empresas
  adoquery_aux.SQL.Text:='SELECT NOME FROM EMPRESAS ORDER BY NOME';
  // Abre a query com o Select definido
  adoquery_aux.Open;
  // Enquanto não chegar ao final da query faça...
  While Not ADOQuery_aux.Eof do
  begin
    // Adiciona ao combobox o nome da empresa do registro corrente
    cb_empresa.Items.Add(adoquery_aux.fieldbyname('NOME').AsString);
    // Passa para o próximo registro da query
    adoquery_aux.Next;
  end;
  // Fecha a query de empresas
  adoquery_aux.Close;

Os objetos ComboBox irão exibir os nomes dos motoristas e das empresas, entretanto o que deve ser gravado na tabela é o número do motorista e o código da empresa e não os nomes. Sendo assim, vamos criar duas variáveis que servirão para armazenar estes valores.

Acesse a seção “Var” da unit_onibus que fica um pouco antes da seção “implementation” e declare as seguintes variáveis: “num_motorista” e “cod_empresa” do tipo integer.

Nós iremos alimentar estas variáveis quando o usuário selecionar o motorista e a empresa nos combobox, ou seja, quando o usuário selecionar o nome de um motorista no combobox, iremos obter o número dele no banco de dados e atribuir à variável. Faremos a mesma coisa para a empresa. O evento executado quando o usuário seleciona uma opção no combobox é o evento OnChange. Acesse o evento OnChange do cb_motorista e digite o seguinte código:

No evento OnChange do objeto cb_empresa digite o seguinte código:

Agora só falta programar o botão “Inserir”. Para isto digite o código abaixo:

Pronto, execute a aplicação para testar a nova funcionalidade!

Insira mais alguns ônibus para verificar o funcionamento do programa.
« Anterior Δ Página principal ¤ Índice Próxima »

* Você pode baixar (fazer download) do conteúdo completo deste curso, em formato PDF, com 334 páginas, comprando o seguinte e-book:

DELPHI COM BANCO DE DADOS

GRANDES DESTAQUES DO SITE:

Quer receber novidades e e-books gratuitos?

MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI

(Online, Vitalício, Prático e Atualizado)!

  • Chega de ser Ignorado pelo Mercado!

  • A vida não vai Melhorar Sozinha!

  • Quem domina infraestrutura, domina o Mercado.

  • Com esta Formação você vai Dominar o Conhecimento e torne-se o Profissional que as Empresas estão Buscando, "desesperadamente", mas não estão encontrando.

NÃO PROCURE VAGAS, SEJA PROCURADO!

 

Curso Completo de Excel - Curso Online com Certificado - 925 Vídeo Aulas - 22 Cursos - 120:42 horas

 

Para Todos os Detalhes, Acesse:

Curso Completo de Excel - Curso Online com Certificado - 925 Vídeo Aulas - 22 Cursos - 120:42 horas

 

https://juliobattisti.com.br/curso-infra-ti.asp

 

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-2026 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI