Ir para conteúdo

POWERED BY:

Arquivado

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

Renanbg

Problemas ao gravar

Recommended Posts

Bom gente abaixo o codigo que uso no botão gravar

 

varprox: integer;Mensagem:string;begin  if DBLookupComboBox1.text='' then  begin  Mensagem := 'Preencha o campo Responsável!';  Application.MessageBox(PCHAR(Mensagem), 'AVISO', MB_ICONINFORMATION + MB_OK);  DBLookupComboBox2.setfocus;  abort;  end  else  if (frmdm.tbinspecao.State in[dsInsert]) then  begin   Query1.Close;   Query1.SQL.Clear;   Query1.SQL.Add('select Num_pedido from tbinspecao');   Query1.SQL.Add('where Num_pedido =:paramItem');   Query1.Params[0].AsInteger;   Query1.ParamByName('paramItem').AsInteger := frmdm.tbinspecaoNum_pedido.AsInteger;   Query1.Open;  if Query1.RecordCount <> 0 then  begin	Query1.Close;	Query1.Sql.Clear;	Query1.Sql.Add('select max(num_pedido) as Proximo');	Query1.Sql.Add('from tbinspecao');	Query1.Open;	prox:=Query1.FieldByName('PROXIMO').AsInteger;	Inc(prox);	frmdm.tbinspecaoNum_pedido.Value:=prox;  //end;  end  else  frmdm.tbinspecao.post;  Mensagem := 'Os dados foram salvos com sucesso!'+#13+''+#13+'Responsável: '+ frmdm.tbinspecaofuncionario.value+'';  Application.MessageBox(PCHAR(Mensagem), 'AVISO', MB_ICONINFORMATION + MB_OK);  close;end;

Do jeito que está grava numa boa, mas se eu tentar editar algum registro não consigo gravar pq o botão fica sem ação

 

Se eu descomentar aquele end que esta comentado ele n passa pela linha do post e cai diretop na linha da mensagem

 

PS: as querys fazen o seguinte

 

a primeira pesquiza se o num_pedido existe e caso encontre ela pega o ultimo num_pedido e soma mais um

 

 

Não consegui achar o erro, alguem pode me dar uma força?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Debugando eu vi que na inclusão está certo, mas na alteração ele não passa pelo post e cai fora diretoAlguma dica?Debugando eu vi que na inclusão está certo, mas na alteração ele não passa pelo post e cai fora diretoAlguma dica?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver, um amigo (Marcelo) me passou o codigo certo e me fez entender

 

se alguem tiver alguma duvida vou deixar o codigo aqui

 

begin  if DBLookupComboBox1.text='' then begin	 Application.MessageBox('Preencha o campo Responsável!', 'AVISO', MB_ICONINFORMATION);	 DBLookupComboBox2.setfocus;	 Exit;  end else begin	 if (frmdm.tbinspecao.State in[dsInsert]) then begin		Query1.Close;		Query1.SQL.Clear;		Query1.SQL.Add('select Num_pedido from tbinspecao');		Query1.SQL.Add('where Num_pedido = ' + IntToStr(frmdm.tbInspecaoNUM_PEDIDO.AsInteger));		Query1.Open;		if Query1.RecordCount <> 0 then begin		   Query1.Close;		   Query1.Sql.Clear;		   Query1.Sql.Add('select max(num_pedido) as Proximo');		   Query1.Sql.Add('from tbinspecao');		   Query1.Open;		   prox:=Query1.FieldByName('PROXIMO').AsInteger;		   Inc(prox);		   frmdm.tbinspecaoNum_pedido.Value:=prox;		end;	 end;	 frmdm.tbinspecao.post;  Mensagem := 'Os dados foram salvos com sucesso!'+#10+#10+'Responsável: '+ frmdm.tbinspecaofuncionario.value;  Application.MessageBox(PCHAR(Mensagem), 'AVISO', MB_ICONINFORMATION);  Close;end;

Abraço...

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.