Mostrando postagens com marcador Banco de Dados. Mostrar todas as postagens
Mostrando postagens com marcador Banco de Dados. Mostrar todas as postagens

domingo, 21 de outubro de 2012

Neste post estarei mostrando como é possível manipular datas no banco de dados, utilizando apenas algumas das funções disponíveis.
Primeiramente, vamos criar um novo banco de dados.

CREATE DATABASE teste_data;

Vamos nos conectar ao banco.

USE teste_data;

E criar uma tabela para que podemos com os campos necessários.

CREATE TABLE clientes (
   id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
   nome VARCHAR(30),
   endereco VARCHAR(30),
   telefone VARCHAR(15),
   data_nasc DATE);

Para podemos manipular esta tabela, vamos inserir alguns registros.

Vale lembrar que no MySQL as datas são representadas como: YYYY-MM-DD.

quarta-feira, 28 de março de 2012

E ai.. como vão?
Vou mostrar aqui um dos métodos de como funciona o login com banco de dados em delphi.
Vamos supor que eu ja tenho uma conexão. Criei um banco de dados em Access com uma tabela 'login'.
Criei uma tabela na seguinte estrutura:




Criei um DataModule e coloquei o ADOConnectio e o ADOTable la. Estou chamando o Datamodule de 'dm'.



Feita a conexão com o banco de dados (Você pode ver como é feita essa conexão com Access aqui) vamos colocar a 'mão na massa'!
Vamos criar dois formulários, o de login, e o de exibição (tela pra confirmar o login).
O formulário de login, tem a seguinte estrutura:


Vou utilizar edtUsuario para a Edit do usuario e edtSenha para a Edit da senha.

O código responsável pela verificação dos campos é o seguinte (OnClick do botão 'Entrar'):

procedure TForm1.Button1Click(Sender: TObject);
begin
  // ativa a tabela
 dm.tb_login.Open;

  // verifica se os campos coincidem,
  // tanto na tabela, quanto nas edits
 if dm.tb_login.Locate('usuario', edtUsuario.Text, [loCaseInsensitive ]) and
  dm.tb_login.Locate('senha', edtSenha.Text, [loCaseInsensitive ]) then
  begin
    // fecha a tabela
  dm.tb_login.Close();
    // mostra outro form
  Form2.Show;
    // esconde o atual
  Self.Hide;
  end
  // se os campos forem vazios
 else if (edtUsuario.Text = '') and (edtSenha.Text= '') then
       begin
         // mostra mensagem
         ShowMessage('Preencha os campos login e senha!');
       edtUsuario.SetFocus;
       end
       else  // campos nao conferem
       begin
         // campos nao conferem
         ShowMessage('Usuario ou senha inválidos!');
         edtUsuario.Clear;
         edtSenha.Clear;
       end;
end;



Vale lembrar que para a utilização das opções TLocateOptions (loPartialKey ou loCaseInsensitive) é necessário declarar a uses 'DB'.

-Entendendo o Locate

tabela.Locate('campo_da_tabela', 'texto_para_procurar', [opções_de_localização]).

O que são essas opções de localização?
Podem ser usadas loCaseInsensitive e loPartialKey.

loCaseInsensitive: Diferencia maiúsculas e minusculas, exemplo: Nome é diferente de NOME que é diferente de NoMe.
loPartialKey: Pode localizar partes de registros, exemplo: 'Progr' pode ser 'Programa' que pode ser 'Programador'.

Agora basta criar um outro Form com um Label, responsável por dar boas vindas ao usuario.
Altere o nome para lblOla. (Olá)


Altere o evento OnShow do forumlário 2 para o seguinte código:



// mostra o nome do usuario logado
  lblOla.Caption := 'Olá ' + Form1.edtUsuario.Text;


Basta executar e testar! Este código pode ser baixado aqui.
Abraço e até a próxima!



Subscribe to RSS Feed Follow me on Twitter!