2016-07-15 62 views
0

我有一個錯誤,當點擊從DataGridView一個項目加載所有informaation關於這個項目的一些文本框, 我的代碼是:訪問數據庫的Visual Basic

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    

錯誤是一個消息說, 指數超出限制。它不能是負面的,必須小於集合的大小。無參數:指數

+0

嘗試:<= 0一個DataGridView包含-1行加列前。 – jdweng

+0

我怎麼能這樣做?舉個例子吧! – barbou

+1

如果(DataGridView1.Rows.Count <= 0)然後返回 – jdweng

回答

0

你應該附上FlatTextBoxX的分配與if語句:

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 
+0

即時通訊試試吧,它dosnt工作:( – barbou

+0

@barbou什麼是新的錯誤信息? – Grace

+0

感謝它的工作完美 – barbou