hypz Posted May 14, 2012 at 11:32 AM Report #455360 Posted May 14, 2012 at 11:32 AM (edited) ArgumentOutOfRangeException was unhandled Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index Dá-me este erro a tentar adicionar mais campos para listar na datagridview gostaria de saber o que posso fazer. Aqui vai o código. Dim provider As String provider = "provider = Microsoft.ACE.OLEDB.12.0;Data Source=Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Documents and Settings\hypz\Ambiente de trabalho\TESTE TRABALHO PAP\Trabalho PAP\Trabalho PAP\pap.accdb; persist security info = false;" Dim con As New OleDbConnection(provider) con.Open() Dim sql As String = "Select * from Utilizador" Dim sqlcom As New OleDbCommand(sql, con) Dim dr As OleDbDataReader = sqlcom.ExecuteReader DataGridView1.Columns.Clear() Dim n As Integer = dr.FieldCount Dim campo As String Dim k As Integer For k = 0 To n - 1 campo = dr.GetName(k) DataGridView1.Columns.Add(campo, campo) Next Dim i As Integer = 1 While dr.Read Dim linha As New DataGridViewRow DataGridView1.Rows.Add(linha) DataGridView1.Rows(i).Cells(0).Value = dr.Item(0) DataGridView1.Rows(i).Cells(1).Value = dr.Item(1) DataGridView1.Rows(i).Cells(2).Value = dr.Item(2) DataGridView1.Rows(i).Cells(3).Value = dr.Item(3) DataGridView1.Rows(i).Cells(4).Value = dr.Item(4) DataGridView1.Rows(i).Cells(5).Value = dr.Item(5) DataGridView1.Rows(i).Cells(6).Value = dr.Item(6) DataGridView1.Rows(i).Cells(7).Value = dr.Item(7) DataGridView1.Rows(i).Cells(8).Value = dr.Item(8) DataGridView1.Rows(i).Cells(9).Value = dr.Item(9) DataGridView1.Rows(i).Cells(10).Value = dr.Item(10) DataGridView1.Rows(i).Cells(11).Value = dr.Item(11) i = i + 1 End While DataGridView1.AutoSizeColumnsMode = _ DataGridViewAutoSizeColumnsMode.AllCells con.Close() O erro dá-me a partir do "DataGridView1.Rows(i).Cells(9).Value = dr.Item(9)", até ao "DataGridView1.Rows(i).Cells(9).Value = dr.Item(8)" corre mas chega ao 9 e dá-me aquele erro que eu nao sei qual é e como resolver, sei que tem a haver com o index (i) mas nao o sei resolver. Edited May 14, 2012 at 12:43 PM by Caça GeSHi
Gnrtuga Posted May 14, 2012 at 12:00 PM Report #455369 Posted May 14, 2012 at 12:00 PM Eu pouco percebo (ou nada) também estou a aprender, mas parece-me (aqui pelo livro que estou a ler) que antes de fechar a conecção tens de fechar o Executereader. E parece-me que i devia ser igual a zero. Mas como digo não pesco nada disto.. mas como experimentar não custa..Experimenta. 🙂 Boa sorte! Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!) Nunca mais é verão outra vez.. :)
Caça Posted May 14, 2012 at 12:44 PM Report #455377 Posted May 14, 2012 at 12:44 PM (edited) Ou a tua grid ou a tua consulta não tem mais de 9 colunas. Edited May 14, 2012 at 12:45 PM by Caça Pedro Martins Não respondo a duvidas por PM
hypz Posted May 15, 2012 at 08:44 AM Author Report #455654 Posted May 15, 2012 at 08:44 AM Obrigado pelas respostas mas já consegui resolver, sim o valor de i é igual a 0 mas eu tentei 1 para tentar. O problema foi resolvido e a minha gridview tinha 12 campos 🙂
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now