[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