Erro :index was out of range. must be non negative and less than the size of the collection. parameter name index.

28/06/2014

Olá, está dando este erro sempre que não se preenche nada em um maskedbox de data, que não é obrigatório...

E em outro form também dá este erro quando não preenche um combobox.

Se preencher salva normal, tudo certo...

Alguém sabe o que deve ser ?

O banco é Access.
Projeto windows form C#.

Jair Souza

Respostas

29/06/2014

Joel Rodrigues Currículo

Se você ler a mensagem de erro, vai ver que está tentando acessar alguma "coisa" usando um índice maior do que a coleção. Por exemplo, se for um vetor com 5 posições, você pode estar tentando acessar a 6. Se for uma palavra com 5 chars, a mesma coisa. E assim por diante. Você tem que ver ONDE está ocorrendo o erro, e a melhor forma para descobrir é depurando.
Responder Citar

11/07/2014

Jair Souza

Bom dia, Descobri o que estava causando este erro (acontecia o mesmo erro em dois forms diferentes abaixo falo das duas situações), era um comando para atualizar o form, retirei esta linha, mas agora acontece o seguinte :

Em um form onde tem um combobox que é carregado pelo select abaixo, se deixo o combobox vazio na hora de salvar, ele salva no banco de dados, mas se fecho o form e abro novamente não atualiza o form com o que foi salvo...

SELECT        F.IDFuncionario, F.Nome, F.Login, F.Senha, F.Perfil, P.Descricao, F.Situacao
FROM            Funcionario F 
INNER JOIN  Perfil P ON F.Perfil = P.IDPerfil


Depuração com breakpoint na linha que salva : (Não sei muito quanto a depuração,rrrrrr...)

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20140711-091420.png[/img]



Em outro form tem um campo data com maskedtextbox, se deixo o campo vazio e sem mask, nem salva no banco..., já os outros campos com maskedtextbox para cep, fone...pode ficar em branco que salva e atualiza o form e banco...

Depuração com breakpoint na linha que salva :

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20140711-091757.png[/img]

Agradeço se puder ajudar, pois já verifiquei várias maneiras e nada...
Responder Citar

11/07/2014

Joel Rodrigues Currículo

Rapaz, seria bom ver o código que você usa para atualizar o form.
Responder Citar

11/07/2014

Jair Souza

Pois então...para o form que tem o combobox é o select acima.

E para o outro form que tem o bem dito MaskedTextbox data, é :
*Mas neste nem salva no banco ACCESS.

this.locatarioTableAdapter.Fill(this.bDBibliotecaDataSet.Locatario);
Responder Citar