Erro numa Query
Beleza pessoal
Coisa estranha nesta procedure
Aonde esta marcado em vermelho, se eu deixar a aspa junto do PERFI.ID da pau na hora de executar, se deixar separado funfa na boa.
Alguem saberia me dizer o porque disto ocorrer.
Tava que nem doido verificando todas as tabelas
Obrigado
Coisa estranha nesta procedure
procedure TLogin.Button1Click(Sender: TObject);
var
strSqlLog: string;
begin
strSqlLog:= ´SELECT * FROM usuario,perfil WHERE usuario.nivel = [color=red:e9fe4545b7][b:e9fe4545b7]perfil.id ´[/b:e9fe4545b7][/color:e9fe4545b7];
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 (menuPrin.QueryLogin.RecordCount) = 1 then
begin
menuPrin.StatusBar1.Panels[2].Text:= ´ ´ + ´Usuário: ´ + Login.ValorNome.Text + ´ - ´ + menuPrin.QueryLogin.FieldByName(´dpto´).AsString;
Login.Close;
end
Aonde esta marcado em vermelho, se eu deixar a aspa junto do PERFI.ID da pau na hora de executar, se deixar separado funfa na boa.
Alguem saberia me dizer o porque disto ocorrer.
Tava que nem doido verificando todas as tabelas
Obrigado
Chico Gois
Curtidas 0
Respostas
Fabio.hc
21/03/2004
Quando vc deixa a aspa junto de perfil.id, a linha debaixo começa com AND ..
a instrução sql fica assim:
.... perfil.idAND... dá erro na execução.
e deixando um espaço no final:
.... perfil.id AND... funciona.
a instrução sql fica assim:
.... perfil.idAND... dá erro na execução.
e deixando um espaço no final:
.... perfil.id AND... funciona.
GOSTEI 0
Chico Gois
21/03/2004
Valeu!..... :oops:
Não prestei atenção neste detalhe.
As vezes são pequenos detalhes que deixa a gente doido.... :D
T+
Não prestei atenção neste detalhe.
As vezes são pequenos detalhes que deixa a gente doido.... :D
T+
GOSTEI 0
Aroldo Zanela
21/03/2004
Colega,
Você pode simplificar um pouco mais e utilizar da seguinte forma:
Você pode simplificar um pouco mais e utilizar da seguinte forma:
procedure TLogin.Button1Click(Sender: TObject); begin menuPrin.QueryLogin.Close; menuPrin.QueryLogin.SQL.Text := ´SELECT * FROM usuario,perfil WHERE usuario.nivel = perfil.id´ + ´ AND fantasia = ´ + QuotedStr(valorNome.Text)+ ´ AND senha = ´ + QuotedStr(valorSenha.Text); menuPrin.QueryLogin.Open; if (menuPrin.QueryLogin.RecordCount) = 1 then begin menuPrin.StatusBar1.Panels[2].Text:= ´ ´ + ´Usuário: ´ + Login.ValorNome.Text + ´ - ´ + menuPrin.QueryLogin.FieldByName(´dpto´).AsString; Login.Close; end
GOSTEI 0
Chico Gois
21/03/2004
[quote:cb55d6818f=´Aroldo Zanela´]Colega,
Você pode simplificar um pouco mais e utilizar da seguinte forma:
[/quote:cb55d6818f]
Valeu!
Vivendo e aprendendo........ :lol: :lol: :lol:
T+
Você pode simplificar um pouco mais e utilizar da seguinte forma:
procedure TLogin.Button1Click(Sender: TObject); begin menuPrin.QueryLogin.Close; menuPrin.QueryLogin.SQL.Text := ´SELECT * FROM usuario,perfil WHERE usuario.nivel = perfil.id´ + ´ AND fantasia = ´ + QuotedStr(valorNome.Text)+ ´ AND senha = ´ + QuotedStr(valorSenha.Text); menuPrin.QueryLogin.Open; if (menuPrin.QueryLogin.RecordCount) = 1 then begin menuPrin.StatusBar1.Panels[2].Text:= ´ ´ + ´Usuário: ´ + Login.ValorNome.Text + ´ - ´ + menuPrin.QueryLogin.FieldByName(´dpto´).AsString; Login.Close; end
Valeu!
Vivendo e aprendendo........ :lol: :lol: :lol:
T+
GOSTEI 0