aleshy Profissional

Registrado: Terça-Feira, 13 de Março de 2007 Mensagens: 627
|
Enviada: Ter Mar 13, 2007 4:29 pm Assunto: Atualizacap de campo usando Query e Label |
|
|
Comunidade PELO AMOR DE DEUS ME AJUDEM!
Aqui na empresa o patrao comprou um programa de gerenciamento que custou R$60.000,00. O problema é que o programa não fornecia um lugar onde ele pudesse compor os precos de venda dos produtos. Entao, para ganhar moral eu fiz e e apresentei um executavel que acessa a tabela na base do sistema, faz os calculos e depois altera o valor de venda dos produtos.
O problema é que nao sei como fazer para alterar apos achar os calculos.
Fiz assim:
Tenho EDITS onde sao lancados as informacoes. Os resultados sao mostrados em LABELs. Porque? Para evitar que ao tabular o passe pelo campo. E Esteticamente fica melhor.
Bem, na minha Unit so tenho um QUERY e um UPDATESQL. O query tras os dados da tabela para um dbgrid.
O patrao marca no dbgrid o produto a ser alterado. Entra com os valores no EDIT e apos a saida do ultimo EDIT o resultado é mostrado no LABEL com caption.
No UPDATESQL que esta ligado ao QUERY esta:
update TPRD
set
PRECO2 = :PRECO2,
DATABASEPRECO2 = :DATABASEPRECO2
where
IDPRD = :OLD_IDPRD
Tabem ja tentei este codigo:
procedure TFormPreco.Button1Click(Sender: TObject);
begin
QueryTPRD.Open;
QueryTPRD.Edit;
QueryTPRD.FieldByName('PRECO2').AsString:= Label22.Caption;
QueryTPRD.Post;
end;
mas este codigo acima dá CANNOT MODIFY A READ ONLY DATASET mas meus componentes esta em ready only false.
A pergunta depois de tanto bla, bla, bla é..COMO FAÇO PARA SALVAR A CAPTAÇÃO QUE ESTA NO LABEL PARA O CAMPO NA BASE.
Tipo:
No label o resultado do calculo deu R$ 10,00. Quero salvar essa informacao no campo PRECO2 da tabela.
Me help ai! |
|
gustavocco Administrador

Registrado: Sexta-Feira, 6 de Fevereiro de 2004 Mensagens: 4253 Localização: Chapecó - SC
|
Enviada: Qua Mar 14, 2007 8:49 am Assunto: |
|
|
Tente assim:
suaQuery.Close;
suaQuery.SQL.Clear;
suaQuery.SQL.Add('update TPRD set PRECO2 = :PRECO2, DATABASEPRECO2 = :DATABASEPRECO2 ');
suaQuery.SQL.Add('where IDPRD = :OLD_IDPRD');
suaQuery.ParamByName('PRECO2').asFloat := 10;
suaQuery.ParamByName('DATABASEPRECO2').asFloat := 10;
suaQuery.ParamByName('OLD_IDPRD').asInteger := 10;
suaQuery.ExecSQL;
Adapte os parametros aos tipos de seu campo.
Flw. |
|