Fórum Como obter o valor de um Generator #40879
12/12/2003
0
um determinado [b:40e2bf0a25]GENERATOR[/b:40e2bf0a25][/b]
Fabio-ps
Curtir tópico
+ 0Posts
12/12/2003
Afarias
function TFormx.GetNewID(const AGenerator: string): Integer; const SQLText = ´select gen_id(¬s, 1) from rdb$database´; begin with IBSQL1 do begin SQL.Text := Format(SQLText, [AGenerator]); Transaction.StartTransaction; try ExecQuery; Result := Fields[0].AsInteger; finally Transaction.Commit; end; end; end;
...faça uma pesquisa no fórum pela palavra GENERATOR...
T+
Gostei + 0
14/06/2004
Aersoftware
Allan Elias Ramos :?:
Gostei + 0
15/06/2004
Afarias
ex::
DataSet.FieldByName(´nome_campo´).AsInteger := GetNewID(´nome_do_generator´);
T+
Gostei + 0
15/06/2004
Aersoftware
Só estou com mais uma pequena dúvida.. essa function tem q ser declarada? eu nunca fiz uma.. eu sei fazer procedures...
eu declaro la em cima como ´procedure teste´ por exemplo, em cima dele clico em ´Crtl + Shift + C´ e ele me abre pra bota o código.. é a mesma coisa com a function???
Allan Elias Ramos :roll:
Gostei + 0
15/06/2004
Gandalf.nho
Gostei + 0
15/06/2004
Afarias
a mesma coisa! funções e procedimentos (métodos já q estamos falando de classes) são a mesma coisa. a única diferença é q uma função tem um ´valor associado´.
pra declarar a função::
function NomeDaFunção( ** lista de parâmetros ** ): TipoDeRetorno;
T+
Gostei + 0
15/06/2004
Aersoftware
Gandalf, o arquivo nao abre, nao dá erro na página, como se ela nao existisse.. :cry:
Allan Elias Ramos :roll:
Gostei + 0
16/06/2004
Rodrrs
select gen_id(nomedogenerator,0) from rdb$database
colocando o nome do generator vc ja tem o valor dele e 0 para
ele nao incrementar nada somente para vc ter o valor dele.
rodrigo-regis@uol.com.br
Gostei + 0
20/06/2004
Aersoftware
Tentei colocar esse select no BeforePost do TClientDataSet e me deu o seguinte erro na hora de compilar:
[Error] UDmDados1.pas(48): Undeclared identifier: ´select´ [Error] UDmDados1.pas(48): Undeclared identifier: ´gen_grupos_id´ [Error] UDmDados1.pas(48): Missing operator or semicolon [Error] UDmDados1.pas(48): Missing operator or semicolon [Fatal Error] ProjTeste.dpr(7): Could not compile used unit ´UDmDados1.pas´
Allan Elias Ramos :cry:
Gostei + 0
14/07/2004
Aersoftware
Allan Elias Ramos
Gostei + 0
14/07/2004
Beppe
Gostei + 0
15/07/2004
Aersoftware
Hmmm.. agora ja clareou um pokinho.. ja sei onde não colocar.. hehe.. mas ainda continuo em dúvida de onde colocar, já q nesse mesmo post tem duas resposta diferentes.. uma com uma function q é complexa e outra somente com o select.. qual das duas eu uso no evento BeforePost??
Não sei pq eu emperrei nessa e não consigo sair nem da etapa inicial... :cry:
Allan Elias Ramos :cry:
Gostei + 0
15/07/2004
Vinicius2k
T+
Gostei + 0
15/07/2004
Aersoftware
Allan Elias Ramos :roll:
Gostei + 0
21/07/2004
Aersoftware
Tá, eu insiro os registros e ele nao me aparece os códigos, q foi feito pra ser auto-numeração.. mas o gerador e a trigger funcionam.. quando eu fecho a aplicação e abro ela novamente, ele me lista os registros ja com os devidos códigos... bom, os códigos estao aparecendo como eu keria, mas só se eu reiniciar a aplicaçao.. tem como eu fazer eles aparecer sem precisar reiniciar? tem algum jeito de dar um refresh em algum componente ou algo do tipo?? to usando FB 1.5 e lingando pelo DbExpress... :wink:
Allan Elias Ramos :roll:
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)