| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
joao_arthur Profissional


Registrado: Sexta-Feira, 10 de Novembro de 2006 Mensagens: 687 Localização: Fortaleza-CE
|
Enviada: Ter Out 02, 2007 10:07 pm Assunto: Count of read-write columns does not equal count of values |
|
|
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 |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Ter Out 02, 2007 10:25 pm Assunto: |
|
|
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 |
|
 |
joao_arthur Profissional


Registrado: Sexta-Feira, 10 de Novembro de 2006 Mensagens: 687 Localização: Fortaleza-CE
|
Enviada: Ter Out 02, 2007 10:33 pm Assunto: |
|
|
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 |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
joao_arthur Profissional


Registrado: Sexta-Feira, 10 de Novembro de 2006 Mensagens: 687 Localização: Fortaleza-CE
|
Enviada: Ter Out 02, 2007 11:31 pm Assunto: |
|
|
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 |
|
 |
waltercbma Novato

Registrado: Domingo, 9 de Mai de 2010 Mensagens: 2
|
Enviada: Dom Mai 09, 2010 7:31 pm Assunto: |
|
|
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 |
|
 |
waltercbma Novato

Registrado: Domingo, 9 de Mai de 2010 Mensagens: 2
|
Enviada: Dom Mai 09, 2010 7:33 pm Assunto: |
|
|
| ja conferir os campos está a mesma quantidade de parametros |
|
| Voltar ao Topo |
|
 |
|