Valor DBComboBox - Delphi
Boa tarde!!
Precisando mais de uma ajuda galera, parece ser simples, mais não conseguir resolver ainda, e por isso peço a ajuda de vocês.
No meu formulário tenho 2 DbComboBox, e os mesmo estão conectados no meu datasource. Tenho botão novo e botão salvar, no botão novo quando é pressionado a minha Query fica no modo insert e os DbComboBox recebe um valor padrão, Mais quando clico em gravar esses valores some, e os valores não aparece no meu banco de dados.
Código:
Botão Novo:
procedure TFrmCadProdutos.BtnNovoProdutosClick(Sender: TObject);
begin
QryCadProdutos.Active := true;
UnitDataModule.DMUnilite.FDUniLite.Commit;
QryCadProdutos.Insert;
QryCadProdutos.FieldByName('EST_MINIMO').Value := '0,00';
QryCadProdutos.FieldByName('EST_MAXIMO').Value := '0,00';
QryCadProdutos.FieldByName('EST_ATUAL').Value := '0,00';
QryCadProdutos.FieldByName('P_CUSTO').Value := '0,00';
QryCadProdutos.FieldByName('P_COMPRA').Value := '0,00';
QryCadProdutos.FieldByName('P_VENDA').Value := '0,00';
QryCadProdutos.FieldByName('PERCENTUAL').Value := '0,00';
QryCadProdutos.FieldByName('P_VENDA_PRAZO').Value := '0,00';
DBComboBox1.ItemIndex := 33;
DBComboBox2.ItemIndex := 33;
BtnNovoProdutos.Enabled := false;
BtnEditarProdutos.Enabled := false;
BtnExcluirProdutos.Enabled := false;
DBEditDescricaoProduto.SetFocus;
end;
Botão Gravar:
procedure TFrmCadProdutos.BtnGravarProdutosClick(Sender: TObject);
begin
DBEditDtaCadastro.Text := DateTimeToStr(now);
QryCadProdutos.Post;
MessageBox(handle,'Produto Cadastrado com sucesso!','Sistema Unilite', MB_OK or MB_ICONINFORMATION);
UnitDataModule.DMUnilite.FDUniLite.Commit;
BtnNovoProdutos.Enabled := true;
BtnEditarProdutos.Enabled := true;
BtnExcluirProdutos.Enabled := true;
end;
Precisando mais de uma ajuda galera, parece ser simples, mais não conseguir resolver ainda, e por isso peço a ajuda de vocês.
No meu formulário tenho 2 DbComboBox, e os mesmo estão conectados no meu datasource. Tenho botão novo e botão salvar, no botão novo quando é pressionado a minha Query fica no modo insert e os DbComboBox recebe um valor padrão, Mais quando clico em gravar esses valores some, e os valores não aparece no meu banco de dados.
Código:
Botão Novo:
procedure TFrmCadProdutos.BtnNovoProdutosClick(Sender: TObject);
begin
QryCadProdutos.Active := true;
UnitDataModule.DMUnilite.FDUniLite.Commit;
QryCadProdutos.Insert;
QryCadProdutos.FieldByName('EST_MINIMO').Value := '0,00';
QryCadProdutos.FieldByName('EST_MAXIMO').Value := '0,00';
QryCadProdutos.FieldByName('EST_ATUAL').Value := '0,00';
QryCadProdutos.FieldByName('P_CUSTO').Value := '0,00';
QryCadProdutos.FieldByName('P_COMPRA').Value := '0,00';
QryCadProdutos.FieldByName('P_VENDA').Value := '0,00';
QryCadProdutos.FieldByName('PERCENTUAL').Value := '0,00';
QryCadProdutos.FieldByName('P_VENDA_PRAZO').Value := '0,00';
DBComboBox1.ItemIndex := 33;
DBComboBox2.ItemIndex := 33;
BtnNovoProdutos.Enabled := false;
BtnEditarProdutos.Enabled := false;
BtnExcluirProdutos.Enabled := false;
DBEditDescricaoProduto.SetFocus;
end;
Botão Gravar:
procedure TFrmCadProdutos.BtnGravarProdutosClick(Sender: TObject);
begin
DBEditDtaCadastro.Text := DateTimeToStr(now);
QryCadProdutos.Post;
MessageBox(handle,'Produto Cadastrado com sucesso!','Sistema Unilite', MB_OK or MB_ICONINFORMATION);
UnitDataModule.DMUnilite.FDUniLite.Commit;
BtnNovoProdutos.Enabled := true;
BtnEditarProdutos.Enabled := true;
BtnExcluirProdutos.Enabled := true;
end;
Jefferson
Curtidas 0
Respostas
Keniel Cenzi
19/11/2020
Olá Jefferson,
Tente utilizar ".AsCurrency" ao atribuir valores para seus campos, sugiro criar os campos da tabela nesse formato também "ftCurrency" acredito que seja por isso o seu problema.
Dica: Porque você não tem apenas um botão para gravar seus registros? ao invés de ter um para inserir e outro para gravar, seria muito mais pratico para o usuário. Você pode usar um botão para limpar seus campos, no caso do ComboBox você teria um valor default "nenhum" por exemplo.
Abraços.
Tente utilizar ".AsCurrency" ao atribuir valores para seus campos, sugiro criar os campos da tabela nesse formato também "ftCurrency" acredito que seja por isso o seu problema.
Dica: Porque você não tem apenas um botão para gravar seus registros? ao invés de ter um para inserir e outro para gravar, seria muito mais pratico para o usuário. Você pode usar um botão para limpar seus campos, no caso do ComboBox você teria um valor default "nenhum" por exemplo.
Abraços.
GOSTEI 0