Fórum IbQuery #182213
15/09/2003
0
estou começando a utilizar o Interbase
para fazer a ligação utilizei os seguintes componentes da Interbase:
IbQuery, IbTransaction, IbDataBase, DataSource
Adicionei um DbGrid e um Button. No Button escrevi o seguinte código:
IBQUERY1.Close;
IBQUERY1.SQL.Clear;
IBQUERY1.SQL.Add(´SELECT * FROM ALUNO where SEXO = ´´+´M´+´´ ´);
IBQUERY1.Active := TRUE;
SHOWMESSAGE(INTTOSTR(IBQUERY1.RecordCount));
O select não funciona. Quando peço para mostrar todos (tiro a clausula where) funciona. Mas o contador mostra apenas os que estão na Dbgrid.
Portanto, precido de duas ajudas.
1) fazer funcionar a clausula where
2) fazer funcionar o contador
Grato pela atenção
Vanp
Curtir tópico
+ 0Posts
15/09/2003
Meni.momm
IBQUERY1.Close;
IBQUERY1.SQL.Clear;
IBQUERY1.SQL.Add(´SELECT * FROM ALUNO where SEXO =:Tipo´);
IBQUERY1.PARAMBYNAME(´Tipo´).VALUE := ´M´;
IBQUERY1.EXECSQL;
SHOWMESSAGE(INTTOSTR(IBQUERY1.RecordCount));
Gostei + 0
15/09/2003
Marcelo.c
Uma dica, para evitar erros e manter um código mais ´limpo´, utilize QuotedStr ex:
IBQUERY1.SQL.Add(´SELECT * FROM ALUNO where SEXO = ´+QuotedStr(´M´));
Outro detalhe, o seu código possui um erro depois do sinal de = , creio que o correto poderia ser:
IBQUERY1.SQL.Add(´SELECT * FROM ALUNO where SEXO = ´+´´´´+´M´+´"´);
Gostei + 0
24/10/2007
Marmota
Assim:
ibquery1.SQL.Clear;
ibquery1.SQL.Add(´select * from tabela´);
ibquery1.Open;
[b:b25537f1b1]ibquery1.FetchAll;[/b:b25537f1b1]
showmessage(ibquery1.RecordCount);
testei e deu certo;
mas como ja faz tempo q foi postada... acho que voce ja resolveu isto
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)