Ronaldo Lanhellas Postado Julho 14, 2010 Denunciar Share Postado Julho 14, 2010 Ao dar um insert aparece a seguinte mensagem de erro:http://uploaddeimagens.com.br/imagem/index/erro_genid.jpg Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Julho 14, 2010 Denunciar Share Postado Julho 14, 2010 Fica mais facil te ajudar se você colocar o código do Insert.Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ronaldo Lanhellas Postado Julho 14, 2010 Autor Denunciar Share Postado Julho 14, 2010 creio eu que o problema não esteja no insert, vou lhe explicar o que estou tentando fazer:criei uma function e uma procedure que tem os seguintes codigos respectivamente:function TDM.GenID(tablename: string): Integer; var Qry: TSQLQuery; begin Qry := TSQLQuery.Create(Self); Qry.SQLConnection := DBAcesso; Qry.SQL.Add('SELECT GEN_ID(GEN_'+tablename+'_ID,1) FROM RDB$DATABASE'); Qry.Open; Result := Qry.Fields[0].AsInteger; end; procedure TDM.GetID(DataSet: TDataSet); begin DataSet.Fields[0].AsInteger := GenID(Copy(DataSet.Name,4)); end; no meu evento OnCreate do DataModule eu faço o seguinte: procedure TDM.DataModuleCreate(Sender: TObject); var I: Integer; begin for I := 0 to Pred(ComponentCount) do if Components[I] is TClientDataSet then begin TClientDataSet(Components[I]).OnNewRecord := GetID; end; end;Resumindo, quando ele encontra um ClientDataSet no meu DataModule ele executa a procedure GetID, esta procedure pega o nome da tabela e executa a function GenID, tudo isso faz com que o seja executado o AutoIncremento na minha tabela antes que eu salve, apenas clicando no inserte e já gera um ID automático. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Julho 14, 2010 Denunciar Share Postado Julho 14, 2010 Isso acontece porque o delphi não está conseguindo encontrar essa generator, esse erro pode acontecer simplesmente por escrever errado, exemplo, se você criou ele com letra minuscula, meugenerator_id, e tentar chama-lo com letra maiuscula MEUGENERATOR_ID daí vai dar erro mesmo, tenta ver se é isso!Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ronaldo Lanhellas Postado Julho 14, 2010 Autor Denunciar Share Postado Julho 14, 2010 resolvido , de fato era o que você falou, nome com maiusculo e outro minusculo, porem tambem faltava eu da um commit nos generators lá no firebird xD> obrigado pelo força Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Ronaldo Lanhellas
Ao dar um insert aparece a seguinte mensagem de erro:
http://uploaddeimagens.com.br/imagem/index/erro_genid.jpg
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.