需要有关我的代码的帮助。我需要将我的数据(名字和姓氏)从我的数据库显示到文本框但我无法弄清楚代码。需要帮忙。日Thnx。这是错误:
mscorlib.dll中出现未处理的“System.ArgumentOutOfRangeException”类型异常
其他信息:指数超出范围。必须是非负数且小于集合的大小。
和代码:第5行的错误
Private Sub dg1_RowEnter(sender As Object, e As DataGridViewCellEventArgs) Handles dg1.RowEnter
With cmd
.Connection = cn
.CommandText = "SELECT ID, LastName, FirstName FROM tblMembers WHERE ID = @ID"
.Parameters.Add(New SqlClient.SqlParameter("@ID", SqlDbType.Int)).Value = dg1.SelectedRows(0).Cells(0).Value
End With
dr = cmd.ExecuteReader
With dr
.Read()
txtLname.Text = .GetValue("LastName")
txtFname.Text = .GetValue("FirstName")
End With
Try
txtContactNo.Text = dg1.Item(2, e.RowIndex).Value
txtAddress.Text = dg1.Item(3, e.RowIndex).Value
dtpBirthday.Text = dg1.Item(4, e.RowIndex).Value
dtpBaptism.Text = dg1.Item(5, e.RowIndex).Value
txtMinistry.Text = dg1.Item(6, e.RowIndex).Value
Dim ms As New MemoryStream(changePhoto(CInt(dg1.SelectedCells(0).Value)))
PictureBox1.Image = Image.FromStream(ms)
Catch ex As Exception
End Try
cn.Close()
End Sub
答案 0 :(得分:0)
也许您应该使用20
代替DataGridViewCellEventArgs.RowIndex
此事件发生在更新CurrentRow属性之前。要检索新输入的行的索引,请使用事件处理程序中的DataGridViewCellEventArgs.RowIndex属性。 来自Microsoft
dg1.SelectedRows(0)