【问题标题】:I keep get the error "An unhandled exception of type 'System.IndexOutOfRangeException' occurred in System.Data.dll我不断收到错误消息“System.Data.dll 中发生‘System.IndexOutOfRangeException’类型的未处理异常
【发布时间】:2018-03-26 23:14:46
【问题描述】:

我不完全确定出了什么问题,我所看到的一切都应该运行良好,但我显然遗漏了一些东西。希望这里有人可以提供帮助。当我运行程序并尝试提交组合框中的任何项目时,我在“txtYear.Text = dt.Rows(1).Item(1)”行收到错误。

 Private Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click

    Dim strSelect As String = ""
    Dim strModel As String = ""
    Dim cmdSelect As OleDb.OleDbCommand
    Dim drSourceTable As OleDb.OleDbDataReader
    Dim dt As DataTable = New DataTable

    If OpenDatabaseConnectionSQLServer() = False Then
        MessageBox.Show(Me, "Database Connection Error." & vbNewLine &
                        "The Application Will Now Close.",
                         Me.Text + "Error",
                        MessageBoxButtons.OK, MessageBoxIcon.Error)

        Me.Close()
    End If

    strSelect = "Select strMake, strYear, strMileage FROM TAutos WHERE intAutoID = " & cboModel.SelectedValue

    cmdSelect = New OleDb.OleDbCommand(strSelect, m_conAdministrator)
    drSourceTable = cmdSelect.ExecuteReader

    dt.Load(drSourceTable)

    txtMake.Text = dt.Rows(0).Item(0)
    txtYear.Text = dt.Rows(1).Item(1)
    txtMileage.Text = dt.Rows(2).Item(2)

    CloseDatabaseConnection()


End Sub

【问题讨论】:

  • 尝试将 dt.Rows(1).Item(1) 更改为 dt.Rows(0).Item(1) 对 txtMieage.Text 代码执行相同操作。
  • 非常感谢!!我已经盯着这个东西看了好几个小时,试图找出那个简单的解决方案。

标签: sql-server visual-studio-2015


【解决方案1】:

感谢@Harsh 成员提供此答案。很简单,我所要做的就是将 dt.Rows(1).Item(1) 更改为 dt.Rows(0).Item(1) 并对 txtMileage.Text 做同样的事情

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    相关资源
    最近更新 更多