[firebase-br] Ajuda com comando SQL

Eduardo Jedliczka eduardo em gerasoft.com.br
Ter Set 6 10:01:12 -03 2005


porque você não prepara a query, e passa os valores como parâmetro ???

além de garantido, e mais claro, é mais rápido se você for inserir um 2º
registro, pois a query já está no cache do banco.

tipo:

 IBOQuery1.SQL.Clear;
 IBOQuery1.SQL.Add('INSERT INTO
COMPOSICAOPRODUTOS(NOME,CODIGO,LIGACAO,QTDADE,UNIDADE,CUSTO)');
 IBOQuery1.SQL.Add('values
(:NOME,:CODIGO,:LIGACAO,:QTDADE,:UNIDADE,:CUSTO)');
 IBOQuery1.Prepare;
 IBOQuery1.ParamByName('nome').asString :=  Table400NOME.asString;
....
 IBOQuery1.ExecSql;

// e se assim desejar, ou seja, não for mais necessário...
IBOQuery1.UnPrepare;
IBOQuery1.SQL.Clear;

[s]

==========================
Eduardo Jedliczka
Gerasoft Informática
Apucarana - Pr
==========================

----- Original Message ----- 
From: "plucaslazaro" <plucaslazaro em yahoo.com.br>
To: <lista em firebase.com.br>
Sent: Tuesday, September 06, 2005 9:35 AM
Subject: [firebase-br] Ajuda com comando SQL


> Bom dia a todos
>
> estou com o seguinte erro neste comando SQL, alguem poderia me dar uma
luz?
>
> ISC ERROR CODE:335544569
> ISC ERROR MESSAGE:
> Dynamic SQL Error
> SQL error code = -804
> Count of read-write columns does not equal count of values
>
> segue o codigo abaixo onde aparece o erro.
>
>   IBOQuery1.SQL.Clear;
>   IBOQuery1.SQL.Add('INSERT INTO
COMPOSICAOPRODUTOS(NOME,CODIGO,LIGACAO,QTDADE,UNIDADE,CUSTO)'+
>                           'VALUES('+QuotedStr(Table400NOME.Value)+','+
>                             FloatToStr(Table400CodigoFinal.Value)+','+
>
FloatToStr(Form_Cadastro_Materiais.Table1CodigoFinal.Value)+','+
>                             FloatToStr(Table400Qtde.Value)+','+
>                             QuotedStr(Table400Descriunid.Value)+','+
>                             FloatToStr(Table400Custo.Value)+')');
>    IBOQuery1.ExecSQL;
>
>
> obrigado
>
> Paulo
> ______________________________________________
> 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
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>





Mais detalhes sobre a lista de discussão lista