[firebase-br] [Off Topic] Procedure pegar valor Generator

Magno System magnosysteminformatica em gmail.com
Sex Out 23 11:08:25 -03 2009


Tente usar o componente de query normal do DBEXPRESS e use:

SELECT generatorvalue FROM STP_GETGENERATORVALUE (nmgenerator varchar(50))


----- Original Message ----- 
From: "Herminio E. Piram" <herminiopiram em gmail.com>
To: "FireBird" <lista em firebase.com.br>
Sent: Friday, October 23, 2009 10:59 AM
Subject: [firebase-br] [Off Topic] Procedure pegar valor Generator


Bom dia pessoa.

Primeiro peço desculpa pelo Off, mas nao consegui encontrar uma
solução no google,
talvez por nao saber o "caminho das pedras" e o pessoal da lista de
Delphi que participo
nao sao espontâneos como o pessoal desta lista.

Estou precisando de uma ajuda para passar esse valor para o delphi.
Estou usando os componentes da dbExpress: SqlConnection, SqsDataSet,
SqlSoterProc e
componentes da DataAccess: DataSetProvider e ClientDataSet.
Tudo funcionando, mas infelizmente tenho que digitar o ID...

Depois de umas pesquisadas no google encontrei o seguinte codigo para
pegar o valor de um generator no Firebird (fiz algumas alterações)

CREATE OR ALTER PROCEDURE STP_GETGENERATORVALUE (nmgenerator varchar(50))
returns (generatorvalue integer) as
declare variable vsql varchar(100);
begin
   vSql = 'select next value for ' || nmGenerator || ' from rdb$database';
   execute statement vSql into :generatorValue;
   suspend;
end

Executei ela pelo ibexpert sem problema.

No Delphi coloquei um SqlStoredProc e liguei as propriedades
SqlConnection e StoredProcName
no Params ja tenho os dois paramentos configurados de entrada (o nome
do Generator)
e de saida (valor do generator).

Minha ideia é chamar essa StoredProc passando o nome do Generator em cada 
Form.
Mas se alguem tiver uma ideia melhor e puder compartilha - la eu agradeco.

Bom pessoal, desde ja agradeço a atenção de todos.


-- 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _

"If the doors of perception were cleansed everything
 would appear to man as it is, infinite." (William Blake)
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _

______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista