ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Count of read-write columns does not equal count of values

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
joao_arthur
Profissional
Profissional


Registrado: Sexta-Feira, 10 de Novembro de 2006
Mensagens: 687
Localização: Fortaleza-CE

MensagemEnviada: Ter Out 02, 2007 10:07 pm    Assunto: Count of read-write columns does not equal count of values Responder com Citação

pessoal estou me deparando com este erro ao tentar gravar registro

erro:

Dynamic SQL Error
SQL error code = -804
Count of read-write columns does not equal count of values

estou usando bd firebird

Código:
case operacao of
    1: begin
         with DM.IBQProduto do
           begin
             close;
             SQL.Clear;
             SQL.Add('insert into produtos (prod_cod, prod_descricao, prod_preco, prod_codbarra, '+
                                           'prod_referencia1, prod_referencia2)');
             SQL.Add(' values (:pDescricao, :pPreco, :pCodBarra, :pReferencia1, :pReferencia2)');
             ParamByName('pDescricao').Value:= mskDescricao.Text;
             ParamByName('pPreco').Value:= StrToFloat(mskPreco.Text);
             ParamByName('pCodBarra').Value:= mskCodBarras.Text;
             ParamByName('pReferencia1').Value:= mskRefSofstix.Text;
             ParamByName('pReferencia2').Value:= mskRefSiga.Text;
             ExecSQL;
           end;
           DM.IBTransaction1.CommitRetaining;
       end;
  end;


o campo prod_cod é autoIncremento eu criei um generator a associei ele ao mesmo no componente IBQuery
_________________
João Arthur.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Ter Out 02, 2007 10:25 pm    Assunto: Responder com Citação

Não é pq tem campos a + do que os parametros estão passando?

Este campo prod_cod, precisa estar junto na hora de incluir, já que ele é um autoincremento?

Código:
case operacao of
    1: begin
         with DM.IBQProduto do
           begin
             close;
             SQL.Clear;
             SQL.Add('insert into produtos (prod_descricao, prod_preco, prod_codbarra, '+
                                           'prod_referencia1, prod_referencia2)');
             SQL.Add(' values (:pDescricao, :pPreco, :pCodBarra, :pReferencia1, :pReferencia2)');
             ParamByName('pDescricao').Value:= mskDescricao.Text;
             ParamByName('pPreco').Value:= StrToFloat(mskPreco.Text);
             ParamByName('pCodBarra').Value:= mskCodBarras.Text;
             ParamByName('pReferencia1').Value:= mskRefSofstix.Text;
             ParamByName('pReferencia2').Value:= mskRefSiga.Text;
             ExecSQL;
           end;
           DM.IBTransaction1.CommitRetaining;
       end;
  end;


Veja ai, qualquer coisa post novamente
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joao_arthur
Profissional
Profissional


Registrado: Sexta-Feira, 10 de Novembro de 2006
Mensagens: 687
Localização: Fortaleza-CE

MensagemEnviada: Ter Out 02, 2007 10:33 pm    Assunto: Responder com Citação

Adriano se eu tiro o prod_cod la no insert ele diz:

validation error column PROD_COD, value ***null***

como se eu estivesse tentando incluir esse campo sem valor sendo que ele é autoIncremento....eu nao entendo....

o que pode ta errado??
Código:

case operacao of
    1: begin
         with DM.IBQProduto do
           begin
             close;
             SQL.Clear;
             SQL.Add('insert into produtos (prod_descricao, prod_preco,   prod_codbarra, '+
                                           'prod_referencia1, prod_referencia2)');
             SQL.Add(' values (:pDescricao, :pPreco, :pCodBarra, :pReferencia1, :pReferencia2)');
             ParamByName('pDescricao').Value:= mskDescricao.Text;
             ParamByName('pPreco').Value:= StrToFloat(mskPreco.Text);
             ParamByName('pCodBarra').Value:= mskCodBarras.Text;
             ParamByName('pReferencia1').Value:= mskRefSofstix.Text;
             ParamByName('pReferencia2').Value:= mskRefSiga.Text;
             ExecSQL;
           end;
           DM.IBTransaction1.CommitRetaining;
       end;
  end;

_________________
João Arthur.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Ter Out 02, 2007 10:48 pm    Assunto: Responder com Citação

Isso me parece que é pq a trigger de autoincremento não está disparando, na hora que vc grava.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joao_arthur
Profissional
Profissional


Registrado: Sexta-Feira, 10 de Novembro de 2006
Mensagens: 687
Localização: Fortaleza-CE

MensagemEnviada: Ter Out 02, 2007 11:31 pm    Assunto: Responder com Citação

Adriano eu não tinha criado a trigger ainda o estranho é porque tenho programas em firebird que uso o IBDataSet pra inserir os dados eu associo o generator ao campo e ele grava certinho mas como estou usando o IBQuery passando parametros ele da erro se nao tiver a trigger....nao sei porque mas agora deu certo depois que eu criei a trigger

Código:
SET TERM ^ ;
 CREATE TRIGGER T_PRODUTOS FOR PRODUTOS
 ACTIVE BEFORE INSERT POSITION 0
 AS
 BEGIN
   NEW.PROD_COD = GEN_ID(GEN_PRODUTO, 1);
 END^
 SET TERM ; ^


valeu pela força....

ps.: no IBQuery também tem a opção de associar o generator ao campo desejado..mas me parece que nao funciona...
_________________
João Arthur.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
waltercbma
Novato
Novato


Registrado: Domingo, 9 de Mai de 2010
Mensagens: 2

MensagemEnviada: Dom Mai 09, 2010 7:31 pm    Assunto: Responder com Citação

pessoal estou me deparando com este erro ao tentar gravar registro

erro:

Dynamic SQL Error
SQL error code = -804
Count of read-write columns does not equal count of values

estou usando bd firebird
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
waltercbma
Novato
Novato


Registrado: Domingo, 9 de Mai de 2010
Mensagens: 2

MensagemEnviada: Dom Mai 09, 2010 7:33 pm    Assunto: Responder com Citação

ja conferir os campos está a mesma quantidade de parametros
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB