Fórum Forms Iguais Mais Não dá Certo #449473
25/07/2013
0
Tenho dois forms aonde eu altero e gravo o que eu cadastrei.O codigo é o mesmo, mais um não está alterando ele esta gravando uma nova informação ao invés de alterar.Alguem sabe me dizer aonde eu errei??
Form que está gravando certo!!!
procedure TFrm_Cad_Bandeiras.Btn_GravarClick(Sender: TObject);
begin
if Edt_Bandeira.Text='''' then
begin
Mess(Frm_Cad_Bandeiras.Handle,''Dados em Branco!Preencha os Dados Corretamente!!!'', mb_iconinformation or mb_ok);
Edt_Bandeira.SetFocus;
exit;
end;
TRY
Frm_Principal.ConexaoBanco.BeginTrans;
if f_operacao=''I'' then
begin
Cmd_Cad_Bandeiras.CommandText:=''INSERT into Cad_Bandeiras (DataCadastro,Bandeira) '';
Cmd_Cad_Bandeiras.CommandText:= Cmd_Cad_Bandeiras.CommandText+''VALUES(:P_DataCadastro,:P_Bandeira )'';
end
else
begin
Cmd_Cad_Bandeiras.CommandText:=''UPDATE Cad_Bandeiras SET '';
Cmd_Cad_Bandeiras.CommandText:=Cmd_Cad_Bandeiras.CommandText+''DataCadastro=:P_DataCadastro,Bandeira=:P_Bandeira '';
Cmd_Cad_Bandeiras.CommandText:=Cmd_Cad_Bandeiras.CommandText+''Where Codigo=:P_Codigo'';
end;
with Cmd_Cad_Bandeiras.Parameters do
begin
if f_operacao<>''I'' then ParamByName(''P_Codigo'').Value:=Edt_Codigo.Text ;
ParamByName(''P_Bandeira'').Value:=Edt_Bandeira.Text ;
ParamByName(''P_DataCadastro'').Value:=Msk_Data_Cadastro.Text ;
if Msk_Data_Cadastro.Text <> '' / / ''
then ParamByName(''P_DataCadastro'').value:=Msk_Data_Cadastro.Text ;
Cmd_Cad_Bandeiras.Prepared:=True ;
Cmd_Cad_Bandeiras.Execute;
Cmd_Cad_Bandeiras.Prepared:=False;
end;
Frm_Principal.ConexaoBanco.CommitTrans;
LimpaCampos;
Edt_Bandeira.Enabled:=false;
EXCEPT
Frm_Principal.ConexaoBanco.RollbackTrans;
Mess(Frm_Cad_Bandeiras.Handle,''Falha na Atualização da Tabela Cad_Bandeiras...'',mb_iconinformation or mb_ok);
END;
Btn_Pesquisar.Enabled := true;
Btn_Incluir.Enabled := true;
Btn_Sair.Enabled := true;
Btn_Alterar.Enabled:=false;
Btn_Gravar.Enabled:=false;
Btn_Cancelar.Enabled:=false;
end;
Form que ao inves de alterar está gravando uma nova informação
procedure TFrm_Cad_Cidades.Btn_GravarClick(Sender: TObject);
begin
if Edt_Cidade.Text='''' then
begin
Mess(Frm_Cad_Cidades.Handle,''Dados em Branco!Preencha os Dados Corretamente!!!'', mb_iconinformation or mb_ok);
Edt_Cidade.SetFocus;
exit;
end;
TRY
Frm_Principal.ConexaoBanco.BeginTrans;
if f_operacao=''I'' then
begin
Cmd_Cad_Cidades.CommandText:=''INSERT into Cad_Cidades (Cidade,Estado,Cep,CodigoIbge,DataCadastro) '';
Cmd_Cad_Cidades.CommandText:= Cmd_Cad_Cidades.CommandText+''VALUES(:P_Cidade,:P_Estado,:P_Cep,:P_CodigoIbge,:P_DataCadastro )'';
end
else
begin
Cmd_Cad_Cidades.CommandText:=''UPDATE Cad_Cidades SET '';
Cmd_Cad_Cidades.CommandText:=Cmd_Cad_Cidades.CommandText+''Cidade=:P_Cidade,Estado=:P_Estado,Cep=:P_Cep,CodigoIbge=:P_CodigoIbge,DataCadastro=:P_DataCadastro '';
Cmd_Cad_Cidades.CommandText:=Cmd_Cad_Cidades.CommandText+''Where Codigo=:P_Codigo'';
end;
with Cmd_Cad_Cidades.Parameters do
begin
if f_operacao<>''I'' then ParamByName(''P_Codigo'').Value:=Edt_Codigo.Text ;
ParamByName(''P_Cidade'').Value:=Edt_Cidade.Text ;
ParamByName(''P_DataCadastro'').Value:=Msk_Data_Cadastro.Text ;
if Msk_Data_Cadastro.Text <> '' / / ''
then ParamByName(''P_DataCadastro'').value:=Msk_Data_Cadastro.Text ;
ParamByName(''P_Estado'').Value:=ComBox_Estado.Text ;
ParamByName(''P_Cep'').Value:=Msk_Cep.Text ;
Cmd_Cad_Cidades.Prepared:=True ;
Cmd_Cad_Cidades.Execute;
Cmd_Cad_Cidades.Prepared:=False;
end;
Frm_Principal.ConexaoBanco.CommitTrans;
LimpaCampos;
Edt_Cidade.Enabled:=false;
ComBox_Estado.Enabled:=false;
Msk_Cep.Enabled:=false;
Edt_Codigo_Ibge.Enabled:=false;
EXCEPT
Frm_Principal.ConexaoBanco.RollbackTrans;
Mess(Frm_Cad_Cidades.Handle,''Falha na Atualização da Tabela Cad_Cidades...'',mb_iconinformation or mb_ok);
END;
Btn_Pesquisar.Enabled := true;
Btn_Incluir.Enabled := true;
Btn_Sair.Enabled := true;
Btn_Alterar.Enabled:=false;
Btn_Gravar.Enabled:=false;
Btn_Cancelar.Enabled:=false;
end;Obs.: Eu debuguei no form que esta certo que esta gravando as informações ele verifica certinho se esta inserindo ou editando, se não tiver inserindo ele já pula para o o codigo de edição, mais o outro verifica também, mais só enxerga que está inserindo, esquesito.Parte que verifica se ta inserindo ou não
TRY
Frm_Principal.ConexaoBanco.BeginTrans;
if f_operacao=''I'' thenBruno Henrique
Curtir tópico
+ 0Posts
25/07/2013
Bruno Henrique
Gostei + 0
26/07/2013
Joel Rodrigues
Gostei + 0
26/07/2013
Alessandro Yamasaki
Gostei + 0
26/07/2013
Bruno Henrique
A chamada dos Forms ...form.shomodal;
e o preenchimento da variavel só quando executo, que eu busco o form que ela verifica se esta no modo de inserção se tiver ela vai inserir no banco se não só vai fazer a alteração...mais acontece que ela só ta executando a inserção e não executa a alteração....meu outros forms eu fiz do mesmo jeito e funciona normal.
Gostei + 0
26/07/2013
Bruno Henrique
Gostei + 0
26/07/2013
Joel Rodrigues
Gostei + 0
26/07/2013
Bruno Henrique
TRY
Frm_Principal.ConexaoBanco.BeginTrans;
if f_operacao=''I'' then
begin
Cmd_Cad_Cidades.CommandText:=''INSERT into Cad_Cidades (Cidade,Estado,Cep,CodigoIbge,DataCadastro) '';
Cmd_Cad_Cidades.CommandText:= Cmd_Cad_Cidades.CommandText+''VALUES(:P_Cidade,:P_Estado,:P_Cep,:P_CodigoIbge,:P_DataCadastro )'';
end
else
begin
Cmd_Cad_Cidades.CommandText:=''UPDATE Cad_Cidades SET '';
Cmd_Cad_Cidades.CommandText:=Cmd_Cad_Cidades.CommandText+''Cidade=:P_Cidade,Estado=:P_Estado,Cep=:P_Cep,CodigoIbge=:P_CodigoIbge,DataCadastro=:P_DataCadastro '';
Cmd_Cad_Cidades.CommandText:=Cmd_Cad_Cidades.CommandText+''Where Codigo=:P_Codigo'';
end;Gostei + 0
26/07/2013
Alessandro Yamasaki
Gostei + 0
26/07/2013
Bruno Henrique
procedure TFrm_Pesquisa_Cidades.Dbg_Pesquisa_CidadesKeyPress(
Sender: TObject; var Key: Char);
begin
pesquisar1:=true;
Frm_Cad_Cidades.Msk_Data_Cadastro.Enabled:=false;
Frm_Cad_Cidades.Edt_Cidade.Enabled:=false;
Frm_Cad_Cidades.ComBox_Estado.Enabled:=false;
Frm_Cad_Cidades.Msk_Cep.Enabled:=false;
Frm_Cad_Cidades.Edt_Codigo.Text:=Frm_Pesquisa_Cidades.Ads_Pesquisa_Cidades.FieldByName('Codigo').AsString;
Frm_Cad_Cidades.Msk_Data_Cadastro.Text:=Frm_Pesquisa_Cidades.Ads_Pesquisa_Cidades.FieldByName('DataCadastro').AsString;
Frm_Cad_Cidades.Edt_Cidade.Text:=Frm_Pesquisa_Cidades.Ads_Pesquisa_Cidades.FieldByName('Cidade').AsString;
Frm_Cad_Cidades.ComBox_Estado.Text:=Frm_Pesquisa_Cidades.Ads_Pesquisa_Cidades.FieldByName('Estado').AsString;
Frm_Cad_Cidades.Msk_Cep.Text:=Frm_Pesquisa_Cidades.Ads_Pesquisa_Cidades.FieldByName('Cep').AsString;
f_operacao:='A';
Frm_Pesquisa_Cidades.Close;
Frm_Cad_Funcionarios.Edt_Codigo_Cidade.Text:=Frm_Pesquisa_Cidades.Ads_Pesquisa_Cidades.FieldByName('Codigo').AsString;
Frm_Cad_Funcionarios.Edt_Nome_Cidade.Text:=Frm_Pesquisa_Cidades.Ads_Pesquisa_Cidades.FieldByName('Cidade').AsString;
end;Gostei + 0
26/07/2013
Bruno Henrique
Gostei + 0
26/07/2013
Bruno Henrique
Gostei + 0
26/07/2013
Joel Rodrigues
Gostei + 0
09/08/2013
Flávio Henr4ique
Gostei + 0
09/08/2013
Bruno Henrique
O que está faltando????
Preciso compartilhar a imagem!!!Pois fiz igual a todos os outros forms.E ocorreu perfeitamente, sem erro algum!!!
O que falta nesse ????
Abraços
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)