[firebase-br] SQL * Funciona - SQL campos Não funciona
User-BA
foruns em embytes.com.br
Seg Ago 22 20:11:53 -03 2005
Olá amigos!
Estou começando :)
Estou utilizando o delphi + dbexpress + firebird 1.5
Estou tentando fazer uma simples consulta conforme abaixo,
mas na montagem do select "SQLQuery1.SQL.Add" gera um erro.
a única coisa que fiz no SQLQuery
foi apontar a conexão para "SQLConnection1".
E no SQLConnection1 configurei os parâmetros de conexão.
* VendorLib = fbclient.dll
Try
t_transacao.TransactionID := 1;
t_transacao.IsolationLevel := xilREPEATABLEREAD;
SQLConnection1.StartTransaction(t_transacao);
SQLQuery1.Close;
SQLQuery1.SQL.Clear;
// se eu colocar conforme abaixo "*" tudo funciona normal
SQLQuery1.SQL.Add('SELECT * FROM MAQUINAS WHERE MAQ_MC1 = :P_MAQ_MC1');
// ou assim também funciona (especificando todos os campos da tabela)
// SQLQuery1.SQL.Add('SELECT MAQ_CHAVE, MAQ_MC1, MAQ_MC2, MAQ_MD1,
MAQ_MD2 FROM MAQUINAS WHERE MAQ_MC1 = :P_MAQ_MC1');
// mas se eu colocar somente alguns campos que gostaria
// de trazer no select, apenas o "MAC_CHAVE, MAC_MC1, MAC_MC2"
// da um erro informando (MAC_CHAVE not found)
// Na tabela eu tenho os campo: MAC_CHAVE, MAC_MC1, MAC_MD1,
MAC_MC2, MAC_MD2
// SQLQuery1.SQL.Add('SELECT MAC_CHAVE, MAC_MC1 FROM MAQUINAS WHERE
MAQ_MC1 = :P_MAQ_MC1');
SQLQuery1.ParamByName('P_MAQ_MC1').AsString := '10';
SQLQuery1.Open;
SQLConnection1.Commit(t_transacao);
// Mostra o segundo campo MAQ_MC1
ShowMessage(SQLQuery1.Fields.Fields[1].AsString);
except
On Exc:Exception do
Begin
// quando monto o SQL sem todos os campos gera a exceçao.
ShowMessage('Ocorreu um erro na consulta: ' + Exc.Message);
SQLConnection1.Rollback(t_transacao);
exit;
End;
End;
O que estou fazendo de errado?
Aproveitando?
Seria correto utilizar o SQLQuery para:
para efetuar as CONSULTAS, INCLUSÕES, ALTERAÇOES, EXCLUSÕES da aplicação?
Obrigado.
User-BA
Mais detalhes sobre a lista de discussão lista