[firebase-br] OFF - Erro SQL INSERT INTO

marcelo marcelo em teflamar.com.br
Ter Nov 16 16:18:43 -03 2004


coloque um ibdataset,
informe o database
vá em selectsql, ...
faça um select simples tipo SELECT * FROM CLIENTES
clique o botão direito no ibdataset, Dataset Editor,
clique nos botões Get table Fields, Select Primary Keys, Generate Sql
no evento after-post e after-delete coloque o seguinte evento:

var wRec : TBookMark;
begin
wRec:=CLI.GetBookmark;
//ibdatabase.ApplyUpdates([CLI]); se usar cache
ibtransaction.CommitRetaining;
CLI.CLOSE;
CLI.OPEN;
if wRec = Nil then CLI.last
else CLI.GotoBookmark(wRec);

use seu ibdataset normalmente, como uma query ou como uma table


----- Original Message -----
From: "jcs.canan" <jcs.canan em uol.com.br>
To: "lista" <lista em firebase.com.br>
Sent: Tuesday, November 16, 2004 2:03 PM
Subject: [firebase-br] OFF - Erro SQL INSERT INTO


Amigos, utilizo Delphi 7 e Firebird 1.5 com os componentes da
palheta Interbase.

Não estou conseguindo inserir dados. Estou tentando das duas
formas abaixo.



 A TAB_ITENS_PEDIDO tem a seguinte estrutura:

COD_PEDIDO, COD_PRODUTO, QTDADE : Integer
 PRECO_UNIT : Numeric

Tentei de duas formas e nas duas deu erro:

 DataModule1.QryInsere.ParamByName('COD_PEDIDO').AsInteger :=
StrToInt(Label11.Caption);
 DataModule1.QryInsere.ParamByName
('COD_PRODUTO').AsInteger :=
DataModule1.TAB_PRODUTOS.FieldByName('COD_PRO').Value;
 DataModule1.QryInsere.ParamByName('QTDADE').AsInteger :=
StrToInt(Edit4.Text);
 DataModule1.QryInsere.ParamByName('PRECO_UNIT').AsFloat :=
DataModule1.TAB_PRODUTOS.FieldByName('PRECO_VENDA_PRO').Value;


// DataModule1.QryInsere.SQL.Clear;

Opção 1

// Temp:='INSERT INTO TAB_ITENS_PEDIDO (COD_PEDIDO,
COD_PRODUTO, QTDADE, PRECO_UNIT)';
// Temp:=Temp + ' VALUES
(:COD_PEDIDO, :COD_PRODUTO, :QTDADE, :PRECO_UNIT)';



Opção 2

 Temp:='INSERT INTO TAB_ITENS_PEDIDO (COD_PEDIDO,
COD_PRODUTO, QTDADE, PRECO_UNIT)';
 Temp:=Temp + ' VALUES ( ';
 Temp:=Temp + ':COD_PEDIDO';
 Temp:=Temp + ',';
 Temp:=Temp + ':COD_PRODUTO';
 Temp:=Temp + ',';
 Temp:=Temp + ':QTDADE';
 Temp:=Temp + ',';
 Temp:=Temp + ':PRECO_UNIT';
 Temp:=Temp + ')';
}


 DataModule1.QryInsere.SQL.Add(temp);



 DataModule1.QryInsere.ExecSQL;
 DataModule1.QryInsere.Close;
 DataModule1.QryInsere.Open;
 SB_Grava_pedido.Enabled := True;


Oque estou fazendo de errado ou deixando de fazer? Agradeço
as colaborações.

Att

Canan


__________________________________________________________________________
Acabe com aquelas janelinhas que pulam na sua tela.
AntiPop-up UOL - É grátis!
http://antipopup.uol.com.br/



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br






Mais detalhes sobre a lista de discussão lista