[firebase-br] Erro SQL (pra variar...)

Prisma Sistemas - Moacir prismars em prismars.com.br
Qua Maio 3 19:32:51 -03 2006


Juliano,

O Erro esta no formatfloat !!

Ele deve estar formatando os valores com VIRGULA e ai esta o problema !!

Tente assim:

        IF IsEmpty THEN BEGIN
         Close;
         SQL.Clear;
         SQL.Append('Insert Into PRODUTOS ');
         SQL.Append('(Codigo,CodDescr,CodFbrProd,CodFbrVeic,CodUnidade,CodPratel');
         SQL.Append(',PratelComp,Aplicacao,Referencia,NumOrigin,EstoqueMin,EstoqueMax');
         SQL.Append(',Margem,DescontoAv,Custo,DtAtlPrcVd,FornecCust,PrecoVenda,CodBar');
         SQL.Append(',Similar,Barros)');
         SQL.Append('VALUES');
         SQL.Append('( '+ QuotedStr( DM.Tb_ProdCODIGO.AsString ));
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdCODDESCR.AsString ));
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdCODFBRPROD.AsString ));
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdCODFBRVEIC.AsString ));
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdCODUNIDADE.AsString ));
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdCODPRATEL.AsString ));
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdPRATELCOMP.AsString ));
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdAPLICACAO.AsString ));
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdREFERENCIA.AsString ));
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdNUMORIGIN.AsString ));
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdESTOQUEMIN.AsString ));
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdESTOQUEMAX.AsString ));
         SQL.Append(', '+ DM.Tb_ProdMARGEM.AsString);
         SQL.Append(', '+ DM.Tb_ProdDESCONTOAV.AsString);
         SQL.Append(', '+ DM.Tb_ProdCUSTO.AsAsString);
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdDTATLPRCVD.AsString ));
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdFORNECCUST.AsString ));
         SQL.Append(', '+ DM.Tb_ProdPRECOVENDA.AsAsString);
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdCODBAR.AsString ));
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdSIMILAR.AsString ));
         SQL.Append(', '+ QuotedStr( DM.Tb_ProdBARROS.AsString )+')');
         ShowMessage(SQL.Text);
         ExecSQL;
      END;
      DM.TB_PROD.Next;
      Close;



[ ]´s

Moacir




Juliano Van Dal escreveu:
> Ola pessoal,
>   estou com o seguinte erro SQL qdo tento carregar minha nova tabela fdb, com 
>   meus dados do Paradox:
>    
>   "ERROR CODE: -804. COUNT OF READ-WRITE COLUMNS DOES NOT
>    EQUAL COUNT OF VALUES."
>    
>   pelo que entendi, isso quer dizer que os  campos mensionados no INSERT nao
>    equivalem ao numero de valores que inseri na sql.
>   Mas eu contei varias vezes um e o outro (inclusive la na tabela/ib expert), e são 
>   iguais (21 campos)...
>   O que pode estar acontecendo??
>    
>   se alguem puder me ajudar, eu agradeço!!
>    
>   segue abaixo a parte da procedure onde faço a inserção...
>    
>         IF IsEmpty THEN BEGIN
>          Close;
>          SQL.Clear;
>          SQL.Append('Insert Into PRODUTOS ');
>          SQL.Append('(Codigo,CodDescr,CodFbrProd,CodFbrVeic,CodUnidade,CodPratel');
>          SQL.Append(',PratelComp,Aplicacao,Referencia,NumOrigin,EstoqueMin,EstoqueMax');
>          SQL.Append(',Margem,DescontoAv,Custo,DtAtlPrcVd,FornecCust,PrecoVenda,CodBar');
>          SQL.Append(',Similar,Barros)');
>          SQL.Append('VALUES');
>          SQL.Append('( '+ QuotedStr( DM.Tb_ProdCODIGO.AsString ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdCODDESCR.AsString ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdCODFBRPROD.AsString ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdCODFBRVEIC.AsString ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdCODUNIDADE.AsString ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdCODPRATEL.AsString ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdPRATELCOMP.AsString ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdAPLICACAO.AsString ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdREFERENCIA.AsString ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdNUMORIGIN.AsString ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdESTOQUEMIN.AsString ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdESTOQUEMAX.AsString ));
>          SQL.Append(', '+ FormatFloat('#0.00', DM.Tb_ProdMARGEM.AsFloat ));
>          SQL.Append(', '+ FormatFloat('#0.00', DM.Tb_ProdDESCONTOAV.AsFloat ));
>          SQL.Append(', '+ FormatFloat('#0.00', DM.Tb_ProdCUSTO.AsFloat ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdDTATLPRCVD.AsString ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdFORNECCUST.AsString ));
>          SQL.Append(', '+ FormatFloat('#0.00', DM.Tb_ProdPRECOVENDA.AsFloat ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdCODBAR.AsString ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdSIMILAR.AsString ));
>          SQL.Append(', '+ QuotedStr( DM.Tb_ProdBARROS.AsString )+')');
>          ShowMessage(SQL.Text);
>          ExecSQL;
>       END;
>       DM.TB_PROD.Next;
>       Close;
>
> __________________________________________________
> Faça ligações para outros computadores com o novo Yahoo! Messenger 
> http://br.beta.messenger.yahoo.com/ 
> ______________________________________________
> 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