spider man Postado Agosto 10, 2012 Denunciar Share Postado Agosto 10, 2012 olá a todos...Estou desenvolvendo um programa e estou tendo dificuldades com a tela login senha. Utilizo delphi 7 e mysql. A seguir segue a unit...unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls, StdCtrls;type Tfrmprincipal = class(TForm) Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; btnconfirmar: TButton; btnsair: TButton; procedure btnconfirmarClick(Sender: TObject); procedure btnsairClick(Sender: TObject); private { Private declarations } public { Public declarations } end;var frmprincipal: Tfrmprincipal;implementationuses Unit3;{$R *.dfm}procedure Tfrmprincipal.btnconfirmarClick(Sender: TObject);begin if (edit1.Text = '') then //Verifica se o campo "Usuário" foi preenchido begin Messagedlg('O campo "Usuário" deve ser preenchido!', mtInformation, [mbOk], 0); if edit1.CanFocus then edit1.SetFocus; Exit; end; if (edit2.Text = '') then //Verifica se o campo "Senha" foi preenchido begin Messagedlg('O campo "Senha" deve ser preenchido!', mtInformation, [mbOk], 0); if edit2.CanFocus then edit2.SetFocus; Exit; end else begin with DM.ADOQuery do begin Active:=False; SQL.Clear; SQL.Add('Select * from administrador where usuario :=log and senha :=snh'); Parameters.ParamByName('log').Value:=edit1.Text; Parameters.ParamByName('snh').Value:=edit2.Text; Active:=True; //================================================ if RecordCount > 0 then frmprincipal.ShowModal else ShowMessage('Login ou Senha incorretos, verifique'); end; end;end;procedure Tfrmprincipal.btnsairClick(Sender: TObject);beginclose;end;end.Ele compila okPorém ao fazer a comparação com o banco de dados para ver se foi digitado os dados corretos ele retorna um debug...project project1.exe raise exception class EDatabaseError with message 'ADOquery: Parameter 'log' not found. Process stopped.Meu código já melhorou bastante desde que dei início ao programa mas tenho este problema agora.Grato a todos pela ajuda. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Agosto 10, 2012 Denunciar Share Postado Agosto 10, 2012 altereSQL.Add('Select * from administrador where usuario = :log and senha = :snh');abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 spider man Postado Agosto 11, 2012 Autor Denunciar Share Postado Agosto 11, 2012 grato...funcionou. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
spider man
olá a todos...
Estou desenvolvendo um programa e estou tendo dificuldades com a tela login senha. Utilizo delphi 7 e mysql. A seguir segue a unit...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, StdCtrls;
type
Tfrmprincipal = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
btnconfirmar: TButton;
btnsair: TButton;
procedure btnconfirmarClick(Sender: TObject);
procedure btnsairClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmprincipal: Tfrmprincipal;
implementation
uses Unit3;
{$R *.dfm}
procedure Tfrmprincipal.btnconfirmarClick(Sender: TObject);
begin
if (edit1.Text = '') then //Verifica se o campo "Usuário" foi preenchido
begin
Messagedlg('O campo "Usuário" deve ser preenchido!', mtInformation, [mbOk], 0);
if edit1.CanFocus then
edit1.SetFocus;
Exit;
end;
if (edit2.Text = '') then //Verifica se o campo "Senha" foi preenchido
begin
Messagedlg('O campo "Senha" deve ser preenchido!', mtInformation, [mbOk], 0);
if edit2.CanFocus then
edit2.SetFocus;
Exit;
end
else
begin
with DM.ADOQuery do
begin
Active:=False;
SQL.Clear;
SQL.Add('Select * from administrador where usuario :=log and senha :=snh');
Parameters.ParamByName('log').Value:=edit1.Text;
Parameters.ParamByName('snh').Value:=edit2.Text;
Active:=True;
//================================================
if RecordCount > 0 then
frmprincipal.ShowModal
else
ShowMessage('Login ou Senha incorretos, verifique');
end;
end;
end;
procedure Tfrmprincipal.btnsairClick(Sender: TObject);
begin
close;
end;
end.
Ele compila ok
Porém ao fazer a comparação com o banco de dados para ver se foi digitado os dados corretos ele retorna um debug...
project project1.exe raise exception class EDatabaseError with message 'ADOquery: Parameter 'log' not found. Process stopped.
Meu código já melhorou bastante desde que dei início ao programa mas tenho este problema agora.
Grato a todos pela ajuda.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.