vb.net索引选定单元格的行

问题描述 投票:0回答:1

i在数据网格中显示我的表,然后我想从网格本身更新此表,我正在使用此代码,但是此错误不断显示无法对类'System.Windows.Forms.DataGridViewRow'进行索引,因为它没有默认属性。

Private Sub edit()
    Dim cnx As New MySqlConnection("datasource=localhost;database=bdgeststock;username=root;password=")
    Dim cmd As MySqlCommand = cnx.CreateCommand
    Dim resultat As Integer
    Dim req As String = "UPDATE utilisateur  SET @col = @val where idu=@id"
    If grid.CurrentCell.ColumnIndex = 1 Then
        MessageBox.Show("error u cant edit ids")
    Else
        If ConnectionState.Open Then
            cnx.Close()
        End If
        cnx.Open()
        cmd.Parameters.AddWithValue("@col", grid.CurrentCell.ColumnIndex)
        cmd.Parameters.AddWithValue("@val", grid.CurrentCell.Value)
        cmd.Parameters.AddWithValue("@id", grid.CurrentRow(0))
        cmd.CommandText = req
        resultat = cmd.ExecuteNonQuery
        If (resultat = 0) Then
            MessageBox.Show("error")
        Else
            MessageBox.Show("success")
        End If
        grid.EndEdit()
        grid.RefreshEdit()
        grid.ReadOnly = True
        cnx.Close()
        cmd.Dispose()
    End If

End Sub
mysql .net database vb.net indexing
1个回答
2
投票

呼叫grid.CurrentRow(0)无效。 grid.CurrentRow返回一个datagridviewrow,但是正如错误消息所述,它无法被索引(意味着“在括号后不能有数字”),因为它没有默认属性(意味着当开发人员仅使用该属性时返回的属性)名字)。有些东西确实具有默认属性。例如,(数据表的)DataRow具有代表列值的.Items属性。 .Items是默认属性,表示myDatarow.Items(7)myDataRow(7)完全相同。 DataGridViewRow的任何属性均未标记为默认属性,因此您必须指定其属性之一

© www.soinside.com 2019 - 2024. All rights reserved.