Array
(
)

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

Jair Souza
   - 28 jun 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#.

Joel Rodrigues
   - 29 jun 2014

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.

Jair Souza
   - 11 jul 2014

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...

#Código

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...)

Clique na imagem para abrir em uma nova janela

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 :

Clique na imagem para abrir em uma nova janela

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

Joel Rodrigues
   - 11 jul 2014

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

Jair Souza
   - 11 jul 2014

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.

#Código

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