Inquiridor
Erro data reader

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); } }
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 :) -
-
@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?
-
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); }
-
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