[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