我用<asp:editcommandcolumn更新数据,为什么只能更新第一行,第二行就不能更新了,问题提示"Object reference not set to an instance of an object"
代码如下:
sub gridupdate(ByVal sender As Object, ByVal e As DatagridCommandEventArgs)
  If IsValid Then
dim introw as integer
dim pm as textbox
pm=new textbox
pm= DataGrid1.Items(introw).findcontrol("pinming")
dim  tsql, pinming1 as string
pinming1=pm.text
Dim theid As String= E.Item.cells(0).text
         dim DSN as string = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("ziyuan.mdb")&";"
            Dim dbconn As OleDbConnection
            Dim dbupdate As New OleDbCommand
            dbconn = New OleDbConnection(DSN)
            dbconn.Open()
tSQL = "update ziyuan set pinming='" + pinming1 + "'  where uid=" & theid
            dbupdate = new oledbcommand(tSQL,dbconn)
            dbupdate.executenonquery()
   dbconn.Close()
            Datagrid1.EditItemIndex = -1
            builddatalist()
end if
end sub

解决方案 »

  1.   


    出错提示:
    "Object reference not set to an instance of an object"Line xxx:  pinming1=pm.text
      

  2.   

    你的pm是nothing,也就是没有找到这个TextBox,在对pinming1赋值前先检查一下pm是不是nothing再把pm的Text赋给它。----------------------------------------
    欢迎使用AspNetPager免费分页控件:http://www.webdiyer.com
      

  3.   

    有人帮忙吗?????????
    是不是pm= DataGrid1.Items(introw).findcontrol("pinming")
    这个有问题?
      

  4.   

    问题解决了,少了  introw = e.Item.ItemIndex
    结贴