Sql - como fazer isso ?
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
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
Curtidas 0
Respostas
Crash
20/05/2006
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+
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+
GOSTEI 0