Ajuda aqui! Problema com SQL

Firebird

06/03/2003

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á


Web_dude

Web_dude

Curtidas 0

Respostas

Anonymous

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)


GOSTEI 0
Anonymous

Anonymous

06/03/2003

Utilize assim:

ibQuery1.sql.text := ´SELECT * FROM USUARIOS WHERE USUARIO = ´ + QuotadStr(´nome do usuario´) ;


GOSTEI 0
Anonymous

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


GOSTEI 0
POSTAR