Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

NewtonCesar

erro column count doesn't match

Recommended Posts

Estou tendo dificuldades para inserir um valor no banco de dados Mysql.
Quando coloco o valor redondo exemplo: 5,00 ou 74,00 a inserção da certo.
Mais quando coloco Valor do tipo 5,50 ou 74,64 da a mensagem do erro :
column count doesn't match

Segue a minha SQL para inserir

Function TFrmSolicitacao.SalvaProdutos:Boolean;
Var
sTextoAux : string;
sSql : string;
IbSalva : TZQuery;
precofab,PrecoVen :Double;
Begin
precofab:=StrToFloat(TxtPrecoFab.Text);
PrecoVen:=StrToFloat(TxtPrecoCons.Text);
sSql :=
'INSERT INTO SOLICITAPRODUTOS ( '+
' nomeprod, '+
' idsolicitacao, '+
' barras, '+
' fabricante, '+
' anvisa, '+
' lote, '+
' registro, '+
' precofab, '+
' precocon, '+
' ncm, '+
' situacao) '+
' VALUES( '+
' '+ QuotedStr(TxtNomeProd.Text) +','+
' '+ QuotedStr(LabCodSolic.Caption) +','+
' '+ QuotedStr(TxtBarras.Text) +','+
' '+ QuotedStr(TxtFabricante.Text) +','+
' '+ QuotedStr(LabAnvisa.Caption) +','+
' '+ QuotedStr(TxtLote.Text) +','+
' '+ QuotedStr(TxtRegistro.Text) +','+
' '+ FloatToStr(precofab) +','+
' '+ FloatToStr(PrecoVen) +','+
' '+ QuotedStr(TxtNcm.Text) +','+
' '+ QuotedStr(LabSituacao.Caption) +')';

IbSalva := CriaIB(IbSalva);


ExecutaSql(IbSalva,sSql,False);

Compartilhar este post


Link para o post
Compartilhar em outros sites

lembre o separado de é ponto e não virgula, dependendo de como esta o codigo ele pode interpretar que o valor 5, é um e 50 é para outra coluna. imprima a consulta e tente rodar diretamente no banco, poste ela aqui tbm.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado resolvi a questao fazendo de outra maneira

Var
sTextoAux : string;
Begin
UntConecta.ZInsert.SQL.Clear;
UntConecta.ZInsert.sql.add('INSERT INTO solicitaprodutos(NOMEPROD,BARRAS,FABRICANTE,ANVISA,LISTA,LOTE,REGISTRO,PRECOFAB,PRECOCON,NCM,SITUACAO,IDSOLICITACAO)');
UntConecta.ZInsert.sql.add('VALUES (:NOMEPROD,:BARRAS, :FABRICANTE, :ANVISA, :LISTA, :LOTE, :REGISTRO, :PRECOFAB, :PRECOCON, :NCM, :SITUACAO, :IDSOLICITACAO)');
UntConecta.ZInsert.ParamByName('NOMEPROD').AsString :=TxtNomeProd.Text;
UntConecta.ZInsert.ParamByName('BARRAS').AsString :=TxtBarras.Text;
UntConecta.ZInsert.ParamByName('FABRICANTE').AsString :=TxtFabricante.Text;
UntConecta.ZInsert.ParamByName('ANVISA').AsString :=LabAnvisa.Caption;
UntConecta.ZInsert.ParamByName('LISTA').AsString :=TxtLista.Text;
UntConecta.ZInsert.ParamByName('LOTE').AsString :=TxtLote.Text;
UntConecta.ZInsert.ParamByName('REGISTRO').AsString :=TxtRegistro.Text;
UntConecta.ZInsert.ParamByName('PRECOFAB').AsFloat :=StrToFloat(TxtPrecoFab.Text);
UntConecta.ZInsert.ParamByName('PRECOCON').AsFloat :=StrToFloat(TxtPrecoCons.Text);
UntConecta.ZInsert.ParamByName('NCM').AsString :=TxtNcm.Text;
UntConecta.ZInsert.ParamByName('SITUACAO').AsString :=LabSituacao.Caption;
UntConecta.ZInsert.ParamByName('IDSOLICITACAO').AsString :=LabCodSolic.Caption;
UntConecta.ZInsert.ExecSQL;
sTextoAux := 'Solicitação Envaiada para o email: ' + txtApelido.Text + ' Aguarde o Cadastro ' + TxtLoja.Text;
Application.MessageBox(PChar(sTextoAux), 'ATENÇÃO', MB_OK + MB_ICONINFORMATION);

deu tudo certo.,.obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.