从Datagridview |中选择项目时出错访问数据库 - 视觉基础

时间:2016-07-15 11:01:22

标签: c# vb.net ms-access datagridview

点击datagridview中的项目以在某些文本框中加载此项目的所有信息时出错 我的代码是:

Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick    
    otherdata()
    End Sub 
 Sub otherdata()
    Try
        If (DataGridView1.Rows.Count = 0) Then Return
        FlatTextBox1.Text = String.Empty
        FlatTextBox2.Text = String.Empty
        FlatTextBox3.Text = String.Empty
        FlatTextBox4.Text = String.Empty
        Dim id As Integer = DataGridView1(1, DataGridView1.SelectedRows(0).Index).Value.ToString
        Dim dt As DataTable = New DBConnect().selectdata(String.Format("SELECT items.ClientName, items.ClientAddress, items.ClientPhone, items.ClientCredit, items.ClientLastPay FROM items where items.ClientID = {0}", id))
        FlatTextBox1.Text = dt.Rows(0)(0).ToString
        FlatTextBox2.Text = dt.Rows(0)(1).ToString
        FlatTextBox3.Text = dt.Rows(0)(2).ToString
        FlatTextBox4.Text = dt.Rows(0)(3).ToString
        dt.Dispose()
        dt = Nothing
    Catch ex As Exception
        MessageBox.Show(ex.Message)
End Try    
End Sub              

错误是一个消息框说; 指数超出限制。它不能是负数,必须小于集合的大小。无参数:索引

1 个答案:

答案 0 :(得分:0)

您应该使用if语句包含FlatTextBoxX的赋值:

If dt.Rows.Count > 0 Then 
        FlatTextBox1.Text = dt.Rows(0)(0).ToString
        FlatTextBox2.Text = dt.Rows(0)(1).ToString
        FlatTextBox3.Text = dt.Rows(0)(2).ToString
        FlatTextBox4.Text = dt.Rows(0)(3).ToString
End If
相关问题