Ir ao conteúdo

Erro em tela de login com banco de dados SQL-firebird


Matheus Lacombe

Posts recomendados

Postado

[Edit: Resumindo, preciso saber como atribuir o resultado de um select à uma variável]

Olá pessoal! Estou criando um programa com login e senha por banco de dados SQL e heis que me surge o seguinte problema:

- Com o código que estou usando, consigo selecionar com um edit o cadastro que quiser, desde que faça a seleção pelo código (IDPERFIL), pois se tento fazer a busca pelos outros campos da erro..

A tela de login naturalmente possúi dois campos (edit1 e 2) e um bitbtn. Também botei um DBGird e um mainmenu com a opção Perfil>Criar Perfil, que abre para uma form de cadastro (funcionando).

Aqui está o código completo da Form de Login.

unit Inicial;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMan, StdCtrls, Menus, Buttons, Grids, DBGrids;

type
TForm6 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
XPManifest1: TXPManifest;
MainMenu1: TMainMenu;
Perfil1: TMenuItem;
CriarPerfil1: TMenuItem;
BitBtn1: TBitBtn;
DBGrid1: TDBGrid;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CriarPerfil1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form6: TForm6;

implementation

uses UCalculomental, Criarperfil, UDM;

{$R *.dfm}

procedure TForm6.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form6.DestroyWindowHandle;
end;

procedure TForm6.CriarPerfil1Click(Sender: TObject);
begin
Application.CreateForm(TForm7, Form7);
Form7.Show;
end;

procedure TForm6.BitBtn1Click(Sender: TObject);
begin

DataModule2.SimpleDataSetPerfil.close;
DataModule2.SimpleDataSetPerfil.DataSet.CommandText:=
'SELECT * FROM PERFIL WHERE LOGIN = '+Edit1.Text+
' AND SENHA = '+Edit2.Text;
DataModule2.SimpleDataSetPerfil.open;



//Application.CreateForm(TForm1, Form1);
//Form1.Show;
end;

end.

Aqui está o código que usei para fazer a busca:


DataModule2.SimpleDataSetPerfil.close;
DataModule2.SimpleDataSetPerfil.DataSet.CommandText:=
'SELECT * FROM PERFIL WHERE LOGIN = '+Edit1.Text+
' AND SENHA = '+Edit2.Text;
DataModule2.SimpleDataSetPerfil.open;

OBS: Edit1.Text - LOGIN (tabela PERFIL, Campo LOGIN)

Edit2.text - SENHA (tabela PERFIL, Campo SENHA)

Abraços, fui.

Postado

[Resumindo, preciso saber como atribuir o resultado de um select à uma variável]

Uso Delphi e banco de dados sql firebird.

--------------------------------------------------------------------------

Olá! Consegui fazer a seleção acrescentando o comando "Quotedstr()".

Como o código abaixo não funcionou[..]

If AdoQuery1.Eof then begin
Messagebox(handle,'Usuário ou Senha Incorretos','Erro!',16);
end else begin
Showmessage('Login efetuado com sucesso');
frmPrincipal.ShowModal;

[..]Tentei atribuir uma variável a uma seleção de campo no Banco, de forma que eu faria o select, atribuiria ele a uma variável e compararia esta com o que o usuário escreveu no edit para saber se o login e senha escritos nos edits correspondem aos corretos (que estão no banco), mas não faço a menor ideia de como fazer isso.

pensei em algo mais ou menos assim, mas acho que dois "=" não pode.. (_(

varlogin:=DataModule2.SimpleDataSetPerfil.DataSet.CommandText:='SELECT LOGIN FROM PERFIL WHERE LOGIN = '+Quotedstr(Edit1.Text)

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!