小弟最近在开发过程中遇到这样一个问题:
将DataSet捆绑在DataGrid控件上,在单击"edit"按钮时出发updatecommand事件,请问这段代码我这样写怎么不正确:
 Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand
        
{DataGrid1.EditItemIndex = e.Item.ItemIndex
        Dim UName As String = ds.Tables("CUser").Rows(e.Item.ItemIndex).Item("UserName")
        Dim UPassWord As String = ds.Tables("CUser").Rows(e.Item.ItemIndex).Item("UserPassWord")
        Dim UPower As String = ds.Tables("CUser").Rows(e.Item.ItemIndex).Item("UserPower")
        Dim MyEditCommand As String = " UPDATE CUser SET UserName= '" & UName & "' , UserPassWord= '" & UPassWord & "' , UserPower= '" & UPower & "'  WHERE UserName= '" & UName & "' "
        Dim MyCommand As SqlCommand
        conA.Open()
        MyCommand.ExecuteNonQuery()
        ad.Fill(ds, "CUser")
        DataGrid1.DataSource = ds.Tables("CUser")
        DataGrid1.DataBind()
        conA.Close()}
    End Sub

解决方案 »

  1.   

    DataGrid1.DataSource = ds.Tables("CUser").defaultview
      

  2.   

    这样写:
    Dim conA As New SQLConnection(‘连接字串’)
    Dim MyCommand As New SqlCommand
    SqlCommand.Connection = conA
    try 
       conA.Open()
       SqlCommand.CommandText = MyEditCommand 
       MyCommand.ExecuteNonQuery()
       conA.Close()
    Catch ex As Exception
       conA.Close()
    End Try
      

  3.   

    请帮忙看一下这几句话对不对:
    Dim UName As String = ds.Tables("CUser").Rows(e.Item.ItemIndex).Item("UserName")
            Dim UPassWord As String = ds.Tables("CUser").Rows(e.Item.ItemIndex).Item("UserPassWord")
            Dim UPower As String = ds.Tables("CUser").Rows(e.Item.ItemIndex).Item("UserPower")
            Dim MyEditCommand As String = " UPDATE CUser SET UserName= '" & UName & "' , UserPassWord= '" & UPassWord & "' , UserPower= '" & UPower & "'  WHERE UserName= '" & UName & "' "