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

(Resolvido) Problema na Inserção de Registro


SAMW

Pergunta

Bom dia pessoal estou precisando de uma ajuda meio urgente se alguém puder me ajudar eu agradeço muito, estou criando um projeto no Delphi 2007 e utilizando Interbase 10 como banco de dados.

Meu problema é o seguinte pelo banco de dados eu consigo inserir inumeros registros nas tabelas mas quando eu coloco no delphi ele não deixa eu colocar a tabela em modo de execução estou utilizando os componentes IBDatabase, IBTransaction, IBTable da palheta do interbase

Aqui está o código para o botão de inserção:

Banco.IBTableAUTOR.Insert;

if Banco.IBTableAUTOR.State in [dsInsert] then

begin

Banco.IBTableAUTOR.Last;

ultcod := Banco.IBTableAUTORCODIGO_AUTOR.value+1;

Banco.IBTableAUTORCODIGO_AUTOR.value := ultcod;

end;

O problema é que quando eu clico nesse botão ele me da a seguinte mensagem:

" not in edit mode "

já tentei utilizar no lugar dessa linha:

Banco.IBTableAUTOR.Insert;

essa:

Banco.IBTableAUTOR.Append;

mas tb não resolveu o problema continua dando a mesma mensagem se alguém puder me ajudar eu agradeço mesmo pela atenção

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

" not in edit mode "

Não esta no modo de edição ... use dessa maneira

begin
Banco.IBTableAUTOR.Last;  //  ultimo registro da tabela

Banco.IBTableAUTOR.Append;  //  inserir novo registro

Banco.IBTableAUTOR.Edit; // modo de  Edição do registro

ultcod := Banco.IBTableAUTORCODIGO_AUTOR.value+1;
Banco.IBTableAUTORCODIGO_AUTOR.value := ultcod;

Banco.IBTableAUTOR.Post;  //  gravar o registro

Banco.IBTableAUTOR.ApplyUpdates(-1);  // aplicar atualização nos registros 

end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde muito obrigado pela ajuda mas ainda não resolveu o problema na linha

Banco.IBTableAUTOR.ApplyUpdates(-1); // aplicar atualização nos registros

ele da um erro na parte em destaque se eu rodo ele sem essa parte ele compila mas no segundo registro ele já da um erro de cache e o código que eu tinha passado era para o botão inserir tem como dividir esse comando para colocar uma parte no inserir e a outra no salvar???

desde já muito obrigado mesmo pela ajuda

Link para o comentário
Compartilhar em outros sites

  • 0

pode ser assim tambem

Banco.IBTableAUTOR.ApplyUpdates;

erro de cache e o código que eu tinha passado era para o botão inserir tem como dividir esse comando para colocar uma parte no inserir e a outra no salvar???

voce pode dividir sim... o padrão é voce usar botões de opção

exemplo:

1 - botão incluir

2 - botão Alterar

3 - botão Excluir

4 - botão Imprimir

5 - botão OK

6 - botão Cancel

no botão OK voce salva o registro e no botão Cancel voce cancela o registro

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Boa noite desculpa a minha demora pra responder mas estava acertando os códigos a minhas necessidades mas ainda estou com um problema e se puderem me ajudar eu agradeço muito eu clico em novo e coloco o codigo:

begin
Banco.IBTableAUTOR.Last;  //  ultimo registro da tabela

Banco.IBTableAUTOR.Append;  //  inserir novo registro

Banco.IBTableAUTOR.Edit; // modo de  Edição do registro

ultcod := Banco.IBTableAUTORCODIGO_AUTOR.value+1;
Banco.IBTableAUTORCODIGO_AUTOR.value := ultcod;
end;
e no botão salvar o código:
begin

  Banco.IBTableAUTOR.Post;  //  gravar o registro

  Banco.IBTableAUTOR.ApplyUpdates;  // aplicar atualização nos registros

end;

no botão novo tá tranquilo mas quando eu clico em salvar me da a seguinte mensagem:

" CachedUpdates not enabled "

se alguém puder me ajudar eu agradeço

Link para o comentário
Compartilhar em outros sites

  • 0

Muito obrigado pela ajuda e espero poder colaborar bastante com todos no que vocês precisarem também acabei nem precisando ler o artigo eu apenas retirei a linha:

Banco.IBTableAUTOR.ApplyUpdates;  // aplicar atualização nos registros
deixando assim: INSERIR:
begin
Banco.IBTableAUTOR.Last;  //  ultimo registro da tabela

Banco.IBTableAUTOR.Append;  //  inserir novo registro

Banco.IBTableAUTOR.Edit; // modo de  Edição do registro

ultcod := Banco.IBTableAUTORCODIGO_AUTOR.value+1;
Banco.IBTableAUTORCODIGO_AUTOR.value := ultcod;
end;
SALVAR:
begin

  Banco.IBTableAUTOR.Post;  //  gravar o registro

end;

e consegui resolver todos os meus problemas obrigado mesmo pela ajuda e se precisarem de algo podem contar comigo!!!

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...