我已经编辑这一点,但同样的问题:这段代码有什么问题?
Protected Sub SqlDataSource1_Updated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEventArgs) Handles SqlDataSource1.Updated
For Each myRow As GridViewRow In GridView1.Rows
'Find the checkbox
Dim lab1 As Label = DirectCast(myRow.FindControl("Label1"), Label)
Dim lab4 As Label = DirectCast(myRow.FindControl("Label4"), Label)
Try
Using conn = New SqlConnection(constr)
Using cmd = conn.CreateCommand()
conn.Open()
Dim sql As String = "UPDATE a1_ticket SET Travels = @travels WHERE travelid = @travelid"
cmd.CommandText = sql
cmd.Parameters.AddWithValue("@travels", lab4.Text)
cmd.Parameters.AddWithValue("@travelid", lab1.Text)
cmd.ExecuteNonQuery()
End Using
End Using
Catch ex As Exception
Response.Write(ex.Message)
End Try
Next
End Sub
ERROR: OBJECT引用不是设置为一个对象
你会得到什么样的例外?很可能你的一个标签变量 - lab1和/或lab2是空的。使用调试器,放置断点并检查自己。 – 2011-03-11 06:17:25
你能指出错误吗?是否当你投标签? – 2011-03-11 06:19:41
修复NullReferenceException时,下一个端口将成为SQL注入攻击漏洞......使用参数化查询而不是将值连接到SQL中。 – 2011-03-11 06:27:36