Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Erro ao dar insert


Ronaldo Lanhellas

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...