Ajuda aqui! Problema com SQL
Tenho o seguinte problema:
Estou usando os componentes da paleta Interbase:
IBTable, IBQuery, IBTransaction (que ainda nao sei como usar)
Quando tento fazer uma consulta SQL através do IBQuery, não acontece nada,
os valores dos campos do IBTable ficam NULL.
A consulta estou fazendo assim:
ibQuery1.close;
ibQuery1.sql.clear;
ibQuery1.sql.text := SELECT * FROM USUARIOS WHERE USUARIO = ´nome do
usuario´ ;
ibQuery1.open;
Depois tento comparar o campo senha com o que a pessoa digita em um edit,
fazendo assim:
if edit1.txt = ibtable.fieldvalue[´SENHA´] then
....
Porém recebo uma mensagem de erro dizendo que não pode comparar string com
null
Tentei mostrar os dados da tabela em um dbgrid, mas nada aparece, usando o
IBConsole consigo visualizar os dados da tabela
Alguém sabe o que pode ser??
Obrigado desde já
Estou usando os componentes da paleta Interbase:
IBTable, IBQuery, IBTransaction (que ainda nao sei como usar)
Quando tento fazer uma consulta SQL através do IBQuery, não acontece nada,
os valores dos campos do IBTable ficam NULL.
A consulta estou fazendo assim:
ibQuery1.close;
ibQuery1.sql.clear;
ibQuery1.sql.text := SELECT * FROM USUARIOS WHERE USUARIO = ´nome do
usuario´ ;
ibQuery1.open;
Depois tento comparar o campo senha com o que a pessoa digita em um edit,
fazendo assim:
if edit1.txt = ibtable.fieldvalue[´SENHA´] then
....
Porém recebo uma mensagem de erro dizendo que não pode comparar string com
null
Tentei mostrar os dados da tabela em um dbgrid, mas nada aparece, usando o
IBConsole consigo visualizar os dados da tabela
Alguém sabe o que pode ser??
Obrigado desde já
Web_dude
Curtidas 0
Respostas
Anonymous
06/03/2003
Use o debug para pegar o SQL que está sendo enviado para o banco e execute este SQL no Interactive SQL do IBConsole para ver se está realmente retornando a informação desejada.
Uma dica, o InterBase faz diferença entre maiúscula e minúscula, logo
ele não reconhece o caracter ´a´ e ´A´ como sendo iguais.
Valeu 8)
Uma dica, o InterBase faz diferença entre maiúscula e minúscula, logo
ele não reconhece o caracter ´a´ e ´A´ como sendo iguais.
Valeu 8)
GOSTEI 0
Anonymous
06/03/2003
Utilize assim:
ibQuery1.sql.text := ´SELECT * FROM USUARIOS WHERE USUARIO = ´ + QuotadStr(´nome do usuario´) ;
ibQuery1.sql.text := ´SELECT * FROM USUARIOS WHERE USUARIO = ´ + QuotadStr(´nome do usuario´) ;
GOSTEI 0
Anonymous
06/03/2003
cara.. pq vc num faz tudo de uma vez? tipo....senha e usuario juntos na instrução SQL
Ibquery.sql.add(´select * from table where cliente = ´nome do cliente´ AND senha = ´+edit.text+´);
acho q é melhor do q comprar 2 vezes, espero ter ajudado
Ibquery.sql.add(´select * from table where cliente = ´nome do cliente´ AND senha = ´+edit.text+´);
acho q é melhor do q comprar 2 vezes, espero ter ajudado
GOSTEI 0