[firebase-br] Problemas com Firebird 1.5 + Stored Procedure+Delphi 7
Junior
jrjuniorsp em yahoo.com.br
Qua Out 27 14:38:37 -03 2004
Funcionou
li sobre SUSPEND e entendi o seu funcionamento, entendi também o
funcionamento do FOR SELECT DO.
Obrigado Douglas
----- Original Message -----
From: "Douglas Dallacqua" <vdallacqua em uol.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, October 27, 2004 2:27 PM
Subject: Re: [firebase-br] Problemas com Firebird 1.5 + Stored
Procedure+Delphi 7
CREATE PROCEDURE "selecionar"
RETURNS (qtde integer)
as
BEGIN
SELECT COUNT(*) FROM TESTE INTO :qtde;
SUSPEND;
END
CREATE PROCEDURE "selecionar"
RETURNS (codigo integer,nome varchar(40))
as
BEGIN
FOR SELECT codigo,nome FROM TESTE INTO :codigo, :nome DO;
BEGIN
SUSPEND;
END
END
tenta ai..
[]s
Douglas
----- Original Message -----
From: "Junior" <jrjuniorsp em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, October 27, 2004 2:09 PM
Subject: [firebase-br] Problemas com Firebird 1.5 + Stored Procedure
+Delphi 7
Boa tarde Lista
estou com um problema que não consigo solucionar sobre Stored
Procedure.
criei uma tabela bem simples de Teste
CREATE TABLE TESTE (
CODIGO INTEGER NOT NULL,
NOME VARCHAR (40),
PRIMARY KEY(CODIGO)
);
Adicionei manualmente 4 registros normal.
Para minha primeira SP, eu criei uma simple para adicionar valores
CREATE PROCEDURE "inserir"(
CODIGO INTEGER,
NOME VARCHAR (40))
as
BEGIN
INSERT INTO TESTE (CODIGO , NOME ) VALUES (:CODIGO,:NOME);
END
No Delphi 7, estou usando os componentes IBX e funcionou legal
(componentes utilizados: IBDatabase,IBTransaction,IBStoredProc).
O problema é retornar valores.
tentei fazer um Select Count(*) e retornar esse valor (no banco de
dados possui 4 registros) e mesmo assim me retorna valor NENHUM!!
CREATE PROCEDURE "selecionar"
RETURNS (qtde integer)
as
BEGIN
SELECT COUNT(*) FROM TESTE INTO :qtde;
END
Rodando pelo EMS QuickDesk nao retorna nada, e pelo Delphi utilizando
os componentes (IBDatabase, IBTransaction, IBQuery). No caso do
IBQuery, coloquei -------select * from "selecionar"------
Nesse caso não mostra nenhum registro, o certo seria mostrar 4.
Agora o último problema é quando uma consulta retorna vários valores,
por exemplo
CREATE PROCEDURE "selecionar"
RETURNS (codigo integer,nome varchar(40))
as
BEGIN
SELECT codigo,nome FROM TESTE INTO :codigo, :nome;
END
Aqui tanto no QuickDesk como no Delphi da erro de "Multiples Rows in
Singleton Select"
Alguem poderia me ajudar fazendo favor?
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Mais detalhes sobre a lista de discussão lista