Erro List Index Out of Bounds
Pessoal estou tendo problema toda vez que vou inserir um produto, aparece a seguinte mensagem:
...raised exception class ElistError with message ´List index out of bounds (11)´.Process stopped...
Não estou conseguindo encontrar a causa desse erro, já olhei no banco, as procedures, os DataSet, tudo e não estou conseguindo encontrar, possívelmente é alguma coisa besta que não estou vendo.
...raised exception class ElistError with message ´List index out of bounds (11)´.Process stopped...
Não estou conseguindo encontrar a causa desse erro, já olhei no banco, as procedures, os DataSet, tudo e não estou conseguindo encontrar, possívelmente é alguma coisa besta que não estou vendo.
Georgedeom
Curtidas 0
Respostas
Paulo
01/09/2009
Esse erro normalmente se dá, quando você tenta inserir algo em uma lista(ListBox, ListView, StringList e etc...) além do que a lista pode comportar.
GOSTEI 0
Georgedeom
01/09/2009
Mas não estou inserindo em nenhuma lista, estou inserindo direto no banco, olhe minha linha de código.
Start;
try
with spIUProduto do
begin
Params[0].AsInteger := cdsProdutoID_PRODUTO.AsInteger;
Params[1].AsString := cdsProdutoDESCRICAO.AsString;
Params[2].AsString := cdsProdutoCOD_BARRA.AsString;
Params[3].AsDate := cdsProdutoDT_VALIDADE.AsDateTime;
Params[4].AsString := cdsProdutoREG_MAPA.AsString;
Params[5].AsBCD := cdsProdutoVL_VENDA.AsCurrency;
Params[6].AsInteger := cdsProdutoID_GRUPOPRODUTO.AsInteger;
Params[7].AsInteger := cdsProdutoID_CLASSIPRODUTO.AsInteger;
Params[8].AsInteger := cdsProdutoID_UNIDADE.AsInteger;
Params[9].AsInteger := cdsProdutoID_CLASSITOXICOLOGICA.AsInteger;
Params[10].AsInteger := cdsProdutoID_FORNECEDOR.AsInteger;
Params[11].AsBCD := cdsProdutoVL_COMPRA.AsCurrency;
Params[12].AsBCD := cdsProdutoVL_CUSTO.AsCurrency;
ExecProc;
Comit;
IdProd := Params[0].AsInteger;
end;
except
Rollback;
end;
Start;
try
with spIUProduto do
begin
Params[0].AsInteger := cdsProdutoID_PRODUTO.AsInteger;
Params[1].AsString := cdsProdutoDESCRICAO.AsString;
Params[2].AsString := cdsProdutoCOD_BARRA.AsString;
Params[3].AsDate := cdsProdutoDT_VALIDADE.AsDateTime;
Params[4].AsString := cdsProdutoREG_MAPA.AsString;
Params[5].AsBCD := cdsProdutoVL_VENDA.AsCurrency;
Params[6].AsInteger := cdsProdutoID_GRUPOPRODUTO.AsInteger;
Params[7].AsInteger := cdsProdutoID_CLASSIPRODUTO.AsInteger;
Params[8].AsInteger := cdsProdutoID_UNIDADE.AsInteger;
Params[9].AsInteger := cdsProdutoID_CLASSITOXICOLOGICA.AsInteger;
Params[10].AsInteger := cdsProdutoID_FORNECEDOR.AsInteger;
Params[11].AsBCD := cdsProdutoVL_COMPRA.AsCurrency;
Params[12].AsBCD := cdsProdutoVL_CUSTO.AsCurrency;
ExecProc;
Comit;
IdProd := Params[0].AsInteger;
end;
except
Rollback;
end;
GOSTEI 0
Emerson Nascimento
01/09/2009
então não existe o parâmetro 11.
e você está sim trabalhando com uma lista. a lista de parâmetros.
reavalie sua SP/instrução.
e você está sim trabalhando com uma lista. a lista de parâmetros.
reavalie sua SP/instrução.
GOSTEI 0
Osocram
01/09/2009
Amigo georgedeom.
Params é uma lista, tanto que vc tem que colocar em qual indice vc quer adicionar.
Provavelmente é isso que o emerson falou... vc não deve ter todos os parametros q esta tentando usar.
Params é uma lista, tanto que vc tem que colocar em qual indice vc quer adicionar.
Provavelmente é isso que o emerson falou... vc não deve ter todos os parametros q esta tentando usar.
então não existe o parâmetro 11.
e você está sim trabalhando com uma lista. a lista de parâmetros.
reavalie sua SP/instrução.
GOSTEI 0
Georgedeom
01/09/2009
Fui verificar melhor minhas SP e vi que no Delphi não estava aparecendo todos os parametros, tinha feito uma modificação no banco, mas não tinha sido atualizado no delphi, obrigado pela ajuda, Emerson.en e Osocram.
GOSTEI 0