Ajuda com SQL
05/12/2005
0
Estou construindo um sistema de login e recebo erro do SQL:
InterbaseError with message ´Dynamic SQL Error
SQL Error Code = -104
Token Unknown - line 1, char 65
fantasia´.
O código que digitei é o seguinte:
procedure TLogin.BitBtn1Click(Sender: TObject);
var
strSqlLog: string;
mensagem: string;
begin
strSqlLog := ´SELECT * FROM usuario, perfil WHERE usuario.nivel = perfil.id´;
strSqlLog := strSqlLog + ´AND fantasia =´ + #39 + (ValorNome.Text) + 39 ;
strSqlLog := strSqlLog + ´AND senha =´ + 39 + (ValorSenha.Text) + 39 ;
menuPrin.QueryLogin.Close;
menuPrin.QueryLogin.SQL.Clear;
menuPrin.QueryLogin.SQL.Add(strSqlLog);
menuPrin.QueryLogin.Open;
if not menuPrin.QueryLogin.IsEmpty then
begin
menuPrin.StatusBar1.Panels[2].Text := ´ ´+´Usuário: ´+ login.ValorNome.Text+´ - ´+menuPrin.QueryLogin.FieldByName(´dpto´).AsString;
end
else
begin
mensagem := ´Nome ou senha do usuário inválido.´ + #13 + 13 + ´Se você esqueceu sua senha, consulte ´ + 13 + ´ o administrador do sistema.´;
Application.MessageBox(Pchar(mensagem), ´Login não autorizado´,mb_Ok+mb_IconError);
ValorSenha.Text := ´´;
ValorSenha.SetFocus;
ModalResult := mrNone;
end;
end;
Estou usando um SQLQuery no menuPrin com a expressão:
strSqlLog := ´SELECT * FROM usuario, perfil WHERE usuario.nivel = perfil.id´;
Alquém pode me ajudar ???? :oops:
Lb9
Posts
06/12/2005
Bruno Belchior
strSqlLog := Format(´select * from USUARIO as U join PERFIL as P on U.nivel = P.id where Fantasia = ¬s and Senha =¬s´, [QuotedStr(ValorNome.Text), QuotedStr(ValorSenha.Text)]);
06/12/2005
Wiltonfenix
strSqlLog := ´SELECT * FROM usuario, perfil WHERE usuario.nivel = perfil.id´; strSqlLog := strSqlLog + ´ AND fantasia = "´+ValorNome.Text+´"´ ; strSqlLog := strSqlLog + ´AND senha = "´+ValorSenha.Text+´"´;
06/12/2005
Wiltonfenix
strSqlLog := ´SELECT * FROM usuario, perfil WHERE usuario.nivel = perfil.id´; strSqlLog := strSqlLog + ´ AND fantasia = "´+ValorNome.Text+´"´ ; strSqlLog := strSqlLog + ´ AND senha = "´+ValorSenha.Text+´"´;
06/12/2005
Lb9
SQL Error Code = -206
Column Unknown
A´.
Este A é a senha q coloquei no banco para teste.
07/12/2005
Xtreme
strSqlLog := ´ SELECT * FROM usuario, perfil WHERE usuario.nivel = perfil.id ´; strSqlLog := strSqlLog + ´ AND fantasia = ´+quotedstr(ValorNome.Text); strSqlLog := strSqlLog + ´ AND senha = ´+quotedstr(ValorSenha.Text);
07/12/2005
Bruno Belchior
strSqlLog := Format(´select * from USUARIO as U join PERFIL as P on U.nivel = P.id where Fantasia = ¬s and Senha =¬s´, [QuotedStr(ValorNome.Text), QuotedStr(ValorSenha.Text)]);
07/12/2005
Lb9
strSqlLog := ´ SELECT * FROM usuario, perfil WHERE usuario.nivel = perfil.id ´; strSqlLog := strSqlLog + ´ AND fantasia = ´+quotedstr(ValorNome.Text); strSqlLog := strSqlLog + ´ AND senha = ´+quotedstr(ValorSenha.Text);
Pessoal muito obrigado a todos que contribuiram. Essa foi a solução do problema.
Lucas
07/12/2005
Lb9
Alguém pode explicar, assim fica uma solução tipo:
´Mata a cobra e mostra o pau´. :lol:
Obrigado mais uma vez.
08/12/2005
Bruno Belchior
Clique aqui para fazer login e interagir na Comunidade :)