Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sérgio_BR

Não consigo gravar registro

Recommended Posts

Olá, meus amigos,Problema anterior, dificuldade com valor financeiro, parcialmente resolvido..depois informo como.No momemto, em um form de cadastro, depois de digitar os dados, ao clicar no botão (que contém o código abaixo), recebo a mensagem: Tabela não está em modo de edição..etc...ai está o código:procedure TfrmCadastro.btnInserirFotoClick(Sender: TObject); begintbMembros.Edit; If OpenPictureDialog1.Execute then tbMembros.Edit; Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName); tbMembros.FieldByName('Foto').AsString:= OpenPictureDialog1.FileName; tbMembros.Post; end;O que posso fazer para evitar isso?Feliz Ano Novo para toda a equipe!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

procedure TfrmCadastro.btnInserirFotoClick(Sender: TObject);begintbMembros.Edit;If OpenPictureDialog1.Execute thentbMembros.Edit;Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);tbMembros.FieldByName('Foto').AsString:= OpenPictureDialog1.FileName;if tblmembro.state in [dsedit,dsinsert] then   tbMembros.Post;end;

é só verificar o state como foi incluido no exemplo acima...

 

flw aew!!! http://forum.imasters.com.br/public/style_emoticons/default/natal_noel.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe, Hugo, mas não entendi sua dica..como verificar o state? o código do botão é exatamente aquele que postei...Copiei a correção que você fez e colei, no lugar do outro...mas continua aparecenda mensagem:tbMembros: tabela não está em modo de edição ou inserção... onde errei, cara?Desculpa minha falta de conhecimento...beleza?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente fazer da seguinte forma:

 

procedure TfrmCadastro.btnInserirFotoClick(Sender: TObject);beginIf OpenPictureDialog1.Execute then	begin	tbMembros.Edit;	Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);	tbMembros.FieldByName('Foto').AsString:= OpenPictureDialog1.FileName;	tbMembros.Post;	end;end;

No caso colocando todo o procedimento dentro de um bloco de edição, sendo que somente vai dar um Edit e Post se o kara selecionar e confirmar a figura.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, Kmarada....tudo certo?Olha, testei esse último código que você sugeriu e ao clicar no botão gravar me veio essa mensagem:Project Controle.exe raised exception class EDatabaseErrorwith message 'tbMembros': Arquivo não está em modo de edição ou inserção'. Process stopped.Use Step or Run to continue.Ao clicar ok, o delphi exibe a unit do fom principal e há uma seta verdeapontanto para esse comando:FrmCadastro.Free;O Código a que se refere esse trecho é esse:Application.CreateForm(TfrmCadastro,FrmCadastro);TfrmCadastro.Create(Self);FrmCadastro.ShowModal;FrmCadastro.Free;No form principal estou chamando o for Cadastro....está correta essa forma dechamar um form???A referida tabela está no modo Active.Troquei a tabela do form, testei e nada....Porque é que o sistema acha que ela não está em modo de edição ou inserção?Falai mestre....Um abraço!Sérgio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rode o programa usando a tecla F7 (o delphi executa linha por linha, você terá de ficar apertando F7 várias vezes). Com Isso, você verá se o seu programa não está pulando alguma linha de edit...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hey, meus amigos, hoje resolvi abrir o Delphi e encarar aqueles probleminhas que relatei a vocês..depois de tantos testes, resolvi novamente dar uma olha nos códigos,principalmentedo formulário cadastro..vejam abaixo: procedure TfrmCadastro.btnGravarClick(Sender: TObject);begin tbMembros.Open; tbMembros.Edit; tbMembros.Post; TabelaNaoLocada;end;Originalmente, as duas primeiras linhas não existiam, então acrescentei-as e fiz o teste...e deu certo... O código sugerido por vocês no botão inserir foto está funcionando.Uma pergunta: qdo se cria algo com BD, é normal inserir dados para testes...Naturalmente o campo código, que é autoincremental, cria os códigos, que não são excluidos qdo se exclui os registros inseridos..o que fazer para zerá-lo antes de criar o instalador??Outra pergunta: Quero criar opções de pesquisa para o usuário..Nesse fom cadastro existem dois DBRadioGroup's.. Ex: DBRadioGroup escolha uma cor: Azul /Amarela ou DBRadioGroup Estado Civil: Casado /Solteiro..Prá efeito de pesquisa, o usuário quer saber qtos são casados ou qtas cores azuis foram escolhidas Como posso fazer isso e exibir em um DBGrid? E para imprimir esse resultado do DBGrid?Um abraço!!! Obrigado pela força!!!PS!! Ao abrir(F9) o form cadastro, observei que as fotos não aparecem instantaneamente e issosó acontece se eu clico no dbnavigator...aqui estou usando um Image...pensei em trocar por umDBImage, mas ai o form nem abre e surge uma mensagem dizendo que Bitmap não é válido..?!?O que fazer? Qual componente cai melhor visualmente para o usuário??

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.