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

dataset not in edit or insert mode


MICHELI_MARTINS

Pergunta

bom dia pessoal. estou com essa mensagem de erro quando dou um ok em um botao que faz o post da gravação no banco sql.

porem não estou conseguindo localizar o erro. eu ate entendo que ele esta pedindo um insert ou um edit antes de dar o post.

so que mesmo fazendo o debug a aplicação para em cima do post e não me deixa localizar onde esta o erro. alguém sabe como eu posso fazer o debug localizar isso pra mim?

segue um pedaço do codigo do botao ok:

begin

IF APPLICATION.MessageBox('CONFIRMA A INCLUSÃO OU A ' + 'ALTERAÇÃO DESTE REGISTRO? ', 'CONFIRMAÇÃO', MB_YESNO + MB_ICONINFORMATION) =

IDYES THEN

BEGIN

TABELANUMEROS.SQL.Clear;

TABELANUMEROS.SQL.ADD('UPDATE NUMEROS SET USADO =:USADO WHERE NUMERO =:NUMERO AND USUARIO =:USUARIO');

TABELANUMEROS.ParamByName('USUARIO').ASSTRING:= DBUSUARIO.Text;

TABELANUMEROS.PARAMBYNAME('NUMERO').ASSTRING:= DBNUMERO.TEXT;

TABELANUMEROS.PARAMBYNAME('USADO').ASSTRING:= 'SIM';

TABELANUMEROS.ExecSQL;

TBLORCAMENTOS.FieldByName('NUMERO').ASSTRING:= DBNUMERO.TEXT;

if DBPRONTO.Checked = True then

begin

LABELDOCUMENTOPRONTO.Caption:= 'DOCUMENTO PRONTO DIA: ' + DBDATAPRONTO.FIELD.TEXT;

end;

TBLORCAMENTOS.POST;

LABELDOCUMENTOPAGO.Visible:= FALSE;

LABELDOCUMENTOPRONTO.VISIBLE:= FALSE;

BTNFECHAR.Enabled:= TRUE;

END

ELSE

TBLORCAMENTOS.Cancel;

TABELALOJA.SQL.CLEAR;

TABELALOJA.SQL.ADD('SELECT * FROM LOJAS');

TABELALOJA.ExecSQL;

TABELALOJA.Open;

while NOT TABELALOJA.Eof do

BEGIN

DBLOJA.Items.ADD(TABELALOJA.FIELDBYNAME('LOJA').ASSTRING);

TABELALOJA.Next;

END;

FORMORCAMENTOS.FormActivate(SELF);

TABELAORCAMENTOS.Close;

TABELAORCAMENTOS.Open;

DBOBSERVACOES.ReadOnly:= TRUE;

end;

anteriormente a esse codigo eu tenho o incluir que esta assim:

PROCEDURE TFORMORCAMENTOS.BTNINCLUIRClick(Sender: TObject);

begin

TBLORCAMENTOS.OPEN;

TABELAORCAMENTOS.SQL.CLEAR;

TABELAORCAMENTOS.SQL.Add('SELECT * FROM ORCAMENTOS WHERE CODIGO IN (SELECT MAX(CODIGO)AS CODIGO FROM ORCAMENTOS)ORDER BY CODIGO DESC');

TBLORCAMENTOS.APPEND;

TBLORCAMENTOS.ClearFields;

DBCODIGO.TEXT :=INTtOSTR(TABELAORCAMENTOS.FIELDBYNAME('CODIGO').ASINTEGER + 1);

DBDATA.TEXT:=DATA;

FORMORCAMENTOS.FormActivate(SELF);

WITH FORMORCAMENTOS DO

BEGIN

DBNUMERO.ENABLED:= TRUE;

CAPTION:= 'INCLUSÃO DE REGISTRO' ;

BTNEDITAR.ENABLED:= FALSE;

BTNEXCLUIR.ENABLED:= FALSE;

BTNINCLUIR.ENABLED:=FALSE;

BTNFECHAR.ENABLED:= FALSE;

DBOBSERVACOES.ReadOnly:= FALSE;

END;

DBNUMERO.SetFocus;

LABELDOCUMENTOPAGO.Visible:= FALSE;

DBPRONTO.CHECKED:= FALSE;

DBPAGO1.CHECKED:=FALSE;

DBPAGO2.CHECKED:=FALSE;

DBPAGO3.CHECKED:=FALSE;

TABELAITENSORCAMENTO.SQL.CLEAR;

TABELAITENSORCAMENTO.SQL.ADD('SELECT * FROM ITENSORCAMENTO WHERE CODIGOREF =:CODIGOREF ORDER BY CODIGOITENS ASC');

TABELAITENSORCAMENTO.ParamByName('CODIGOREF').ASSTRING:= DBNUMERO.TEXT;

TABELAITENSORCAMENTO.EXECSQL;

TABELAITENSORCAMENTO.OPEN;

ORCEXCLUSAO:= DBNUMERO.TEXT;

DBOBSERVACOES.Text:= TABELADATA.FieldByName('DATA').ASSTRING;

end;

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
porem não estou conseguindo localizar o erro. eu ate entendo que ele esta pedindo um insert ou um edit antes de dar o post.

so que mesmo fazendo o debug a aplicação para em cima do post e não me deixa localizar onde esta o erro. alguém sabe como eu posso fazer o debug localizar isso pra mim?

Se voce vai atribuir um valor ao campo da sua tabela, antes voce deve editar o registro

TBLORCAMENTOS.EDIT;

TBLORCAMENTOS.FieldByName('NUMERO').ASSTRING:= DBNUMERO.TEXT;

   if DBPRONTO.Checked = True then
   begin
      LABELDOCUMENTOPRONTO.Caption:= 'DOCUMENTO PRONTO DIA: ' + DBDATAPRONTO.FIELD.TEXT;
   end;

TBLORCAMENTOS.POST;

abraço

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,2k
    • Posts
      652k
×
×
  • Criar Novo...