Fórum Sql - como fazer isso ? #321795

20/05/2006

0

Pessoal, estou com uma dúvida cruel.

Tenho 1 formulário pedido (mestre) e outro formulário itens (detalhe).
No formulário pedido (mestre) entre outras coisas, eu tenho um button que qdo clico, chama o formulário Detalhe.
No formulário detalhe eu criei uma Tabela Temporária (ClientDataset1) aonde guardo o código do produto, preço, qtdade, descontos.
Novamente no formulário pedido (mestre) tenho um DBGrid aonde está ligado ao ClientDataset1 (tabela temporária) do formulário Itens.
Agora que vem a dúvida:
Como eu faço pra gravar os dados que estão na tabela temporária (que está ligada a DBGrid) na tabela física no banco de dados (TBItensPedido) ??? tô fazendo mais ou menos assim, será q está certo? :

ibquery1.Close;
ibquery1.Sql.Clear;
ibquery1.Sql.Add(´Insert into TBITENSPEDIDO´);
ibquery1.Sql.Add(´ITENSPCODP,´);
ibquery1.sql.add(´ITENSPPRECOUNIT,´);
ibquery1.sql.add(´ITENSPDESCQT,´);
ibquery1.sql.add(´ITENSPDESCLOG,´);
ibquery1.sql.add(´ITENSPDESCADIC,´);
ibquery1.slq.add(´ITENSPDESCESP,´);
ibquery1.SQL.Add(´PEDCOD,´);
ibquery1.sql.add(´PRODCOD,´);
ibquery1.SQL.add(´ITENSPEDQTDADE,´);
ibquery1.SQL.add(´ITENSPTOTALITEM,´);
ibquery1.SQL.Add(´values´);

mas eu não faço a mínima idéia de como eu pego os ´values´ para salvar nos campos certos.

Se alguém puder ajudar eu ficaria eternamente grato !!!

Kleber


Ksotte

Ksotte

Responder

Posts

21/05/2006

Crash

Coloque um DataSource com propriedade DataSet = seu ClientDataSet;
Depois coloque no IBQuery a propriedade DataSource = ao Datasource q vc coloco no formulario.

No codigo sql vc fará o seguinte:


INSERT INTO TABELA(CAMPO1, CAMPO2, CAMPO3)
VALUES (:CAMPOCDS1, :CAMPOCDS2, :CAMPOCDS3)


Onde: CAMPO 1, 2 e 3 sao os campos da tabela fisica e CAMPOCDS 1, 2 e 3 sao os nomes dos campos da tabela temporaria.


Aew depois eh soh executar o sql com o procedimento ExecSQL.


t+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar