Nesse tutorial vamos ensinar como inserir um BD, no caso em Microsoft Acess, em Delphi 7.
1. Crie um banco de dados com as tabelas desejadas e registre os cadastros, não se esqueça de salvar em formato 2000;
2. Agora abra seu Delphi 7 e crie um formulário com as seguintes características:
3. Crie outro formulário, o qual o usuário ira entrar após seu dados serem confirmados, conforme o exemplo abaixo ,ignore o mainmenu cadastrar e o actionlist,eles serão usado no proximo tutorial;
4. Clique em Project/Options na aba Forms selecione o formulário 2 e clique na " > " e depois em Ok;
5. Agora vamos começar a comfigurar, clique em cima do ADO Connection no 1º form, selecione a opção connected para true, a opção LoginPrompt para false e depois clique na opção ConnectionString conforme a figura abaixo:
5. Agora vamos começar a comfigurar, clique em cima do ADO Connection no 1º form, selecione a opção connected para true, a opção LoginPrompt para false e depois clique na opção ConnectionString conforme a figura abaixo:
6. Vai aparecer uma janela com duas opções, marque a Use Connection String e clique em Build;
7. Na aba Provedor, selecione a opção Microsoft Jet 4.0 OLE DB Provider e clique em avançar;
8. Agora clique nos "..." e navegue até o seu arquivo do banco de dados;
9. Teste a conexão, se estiver conectado corretamente, clique em Ok, e em seguida Ok de novo. Pronto o ADO connection está ligado com o BD;
10. Agora clique no ADO Query e clique na opção Conection e selecione o ADOConnection1;
11. Clique duas vezes na opção sql e escreva "SELECT * FROM (NOME DA SUA TABELA);"
12. Clique em Ok e selecione a opção Active para TRUE;
13. Agora vamos entrar nas linhas de código do botão ENTRAR , clique duas vezes em cima do botão e insira o código;
Código:
var
sql:string;
begin
sql:= 'select * from Tabela_usuario where usuário='+#39 + (edit1.Text) + #39;
sql:= sql + 'and senha='+ #39 + (edit2.Text) + #39; ( Nessas duas linhas declaramos a variavel sql)
ADOQuery1.Close; (Aqui mandamos o ADOQuery fechar)
ADOQuery1.SQL.clear; (Aqui mandamos o ADOQuery limpar o campo SQL)
adoquery1.SQL.add(sql); (Aqui adiciona a variável sql no campo SQL)
adoquery1.Open; (Aqui abrimos o ADOQuery de novo)
if not adoquery1.IsEmpty then (Se o ADOQuery não estiver vazio ele executa)
begin
form2:=Tform2.Create(Application); (Aqui ele cria o form2 ) form2.Show; (Aqui ele esta mostrando o form2) form1.hide; (Aqui ele esconde o form1)
edit1.clear; (Aqui ele limpa o edit1)
edit2.clear; (Aqui ele limpa o edit2) end
else (Se estiver vazio)
begin
showmessage('Usuário ou senha inválidos');
edit1.clear; (Aqui ele limpa o edit1)
edit2.clear; (Aqui ele limpa o edit2)
edit1.setFocus (Aqui ele manda o cursor para o edit1)
i:= i+1;
end;
if i=3 then (Aqui se ele errar a senha ou usuario 3 vezes o programa fecha)
begin
Application.Terminate; (Aqui o programa é fechado)
end;
end;
sql:string;
begin
sql:= 'select * from Tabela_usuario where usuário='+#39 + (edit1.Text) + #39;
sql:= sql + 'and senha='+ #39 + (edit2.Text) + #39; ( Nessas duas linhas declaramos a variavel sql)
ADOQuery1.Close; (Aqui mandamos o ADOQuery fechar)
ADOQuery1.SQL.clear; (Aqui mandamos o ADOQuery limpar o campo SQL)
adoquery1.SQL.add(sql); (Aqui adiciona a variável sql no campo SQL)
adoquery1.Open; (Aqui abrimos o ADOQuery de novo)
if not adoquery1.IsEmpty then (Se o ADOQuery não estiver vazio ele executa)
begin
form2:=Tform2.Create(Application); (Aqui ele cria o form2 ) form2.Show; (Aqui ele esta mostrando o form2) form1.hide; (Aqui ele esconde o form1)
edit1.clear; (Aqui ele limpa o edit1)
edit2.clear; (Aqui ele limpa o edit2) end
else (Se estiver vazio)
begin
showmessage('Usuário ou senha inválidos');
edit1.clear; (Aqui ele limpa o edit1)
edit2.clear; (Aqui ele limpa o edit2)
edit1.setFocus (Aqui ele manda o cursor para o edit1)
i:= i+1;
end;
if i=3 then (Aqui se ele errar a senha ou usuario 3 vezes o programa fecha)
begin
Application.Terminate; (Aqui o programa é fechado)
end;
end;
PS: O i é uma variável publica, então declare-a antes do "implementation ", assim:
var
Form1: TForm1;
i:integer;
Form1: TForm1;
i:integer;

Ficou muito bom cara... gostei!
ResponderExcluirfaltou inicializar a variável i. Assim temos certeza que ela iniciará com valor 0
ResponderExcluir