none
Erro data reader RRS feed

  • Pergunta

  • Este é o erro: 

    Make sure that the maximum index of a list is less than its size

    O código é este:

     List<usuarios> lista = new List<usuarios>();
    
                        using (SqlDataReader dr = command.ExecuteReader())
                        {
                            while (dr.Read())
                            {
                                usuarios usuarios = new usuarios();
                                usuarios.id = int.Parse(dr["id"].ToString());
                                usuarios.usuario = dr["usuario"].ToString();
                                usuarios.senha = dr["senha"].ToString();
                                usuarios.acesso = dr["acesso"].ToString();
                                lista.Add(usuarios);
                            }
                        }

    segunda-feira, 30 de abril de 2012 14:40

Todas as Respostas

  • Debugando o erro, ele acontece em qual linha ? 

    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Facebook Olavo Neto
    Linkedin Olavo Neto
    Se for útil marque como resposta e faça um Developer feliz :)

    segunda-feira, 30 de abril de 2012 15:23
    Moderador
  • usuarios.id = int.Parse(dr["id"].ToString());

    Se excluir essa linha, o erro passa para a linha de baixo, e assim por diante...

    segunda-feira, 30 de abril de 2012 20:17
  • @Andre .Net

    Este teu codigo esta completo?

    Deixa ver como voce faz o teu select por favor

    List<usuarios> lista = new List<usuarios>(); using (SqlDataReader dr = command.ExecuteReader()) { while (dr.Read()) { usuarios usuarios = new usuarios(); usuarios.id = int.Parse(dr["id"].ToString()); usuarios.usuario = dr["usuario"].ToString(); usuarios.senha = dr["senha"].ToString(); usuarios.acesso = dr["acesso"].ToString(); lista.Add(usuarios); } }

    Eu acho que o problema esta na lista, esta no lugar errado do codigo.

    quando se usa datareader ele busca informacao uma por uma. coloca aki o codigo completo,


    Se o amor fosse pecado, quem seria INOCENTE?

    segunda-feira, 30 de abril de 2012 20:30
  • Tente trocar a variavel usuarios para outra que nao seja o mesmo nome da classe

    Exemplo

     while (dr.Read())
    {
      usuarios u = new usuarios();
      u.id = int.Parse(dr["id"].ToString());
      u.usuario = dr["usuario"].ToString();
      u.senha = dr["senha"].ToString();
      u.acesso = dr["acesso"].ToString();
      lista.Add(u);
    }


    terça-feira, 1 de maio de 2012 00:37
  • Estranho, me parece que este erro acontece em outro lugar e não aí, de uma olhada quando acontece esse erro aqui: http://msdn.microsoft.com/en-us/library/3zwz4dx3.aspx

    thiagokoelho

    quinta-feira, 3 de maio de 2012 11:55