**********************************高分求解:“未将对象引用设置到对象的实例”*************************************************
这是一个关于dataGrid 的ButtonColumn列的问题。我在dataGrid 最后一列做了个删除列,删除时有时会出现“未将对象引用设置到对象的实例”的错误提示,代码如下:
// 数据接连和绑定:
------------------------------------------------------------------
Dim strSql As String = "select * from a1"
Dim strDsn As String = "Persist Security Info=False;User ID=sa;Initial Catalog=aaa;Data Source=localhost"
Dim Dt As New DataTable
Dim dr As DataRow
Dim Conn As SqlConnection
Dim Da As SqlDataAdapter
Dim keys(1) As DataColumn
Sub BindGrid()
Conn = New SqlConnection(strDsn)
Da = New SqlDataAdapter(strSql, Conn)
Da.Fill(Dt)
Grid.DataSource = Dt
Grid.DataBind()
End Sub
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
BindGrid()
End If
End Sub
-------------------------------------------------------------------------
//当我单出删除列的“删除”连接时,有时可以正常删除,但有时会出现错误提示
Private Sub Grid_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles Grid.DeleteCommand
Conn = New SqlConnection(strDsn)
Da = New SqlDataAdapter(strSql, Conn)
Da.Fill(Dt)
Keys(0) = Dt.Columns(0)
Dt.PrimaryKey = Keys
dr = Dt.Rows.Find(e.Item.ItemIndex )
dr.Delete() //就是这一行,错误提示: “未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。 ”
Dim cb As SqlCommandBuilder = New SqlCommandBuilder(Da)
Da.Update(Dt)
BindGrid()
End Sub
希望今天能结贴!