DataGrid的删除问题,在线恭候各位。

huangwangman 2003-09-30 01:08:53
各位,
我在DataGrid中加入编辑、修改、删除,删除的代码是照着修改写的,
附代码如下:
Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand
If cn.State = ConnectionState.Closed Then cn.Open()
Dim oldName As String = CType(e.Item.FindControl("hdnName"), TextBox).Text
Dim oldIDCard As String = CType(e.Item.FindControl("hdnIDCard"), TextBox).Text

Dim strName As String = CType(e.Item.FindControl("txtName"), TextBox).Text
Dim strIDCard As String = CType(e.Item.FindControl("txtIDCard"), TextBox).Text

Dim strUpdate As String = "update tbEmployee set 姓名='" & Trim(strName) & "',身份证号='" & Trim(strIDCard) & "'" & _
" where 姓名=@Name and 身份证号=@ID "
Dim SqlTmp As New SqlCommand(strUpdate, cn)
SqlTmp.Parameters.Add(New SqlParameter("@Name", SqlDbType.NVarChar, 30)).Value = Trim(oldName)
SqlTmp.Parameters.Add(New SqlParameter("@ID", SqlDbType.NVarChar, 18)).Value = Trim(oldIDCard)

Try
SqlTmp.ExecuteNonQuery()
Catch ex As Exception
Response.Write(ex.Message & "<br>")
End Try
DataGrid1.EditItemIndex = -1
BindGrid()
End Sub

Private Sub DataGrid1_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.DeleteCommand
If cn.State = ConnectionState.Closed Then cn.Open()
Dim oldName As String = CType(e.Item.FindControl("hdnName"), TextBox).Text
Dim oldIDCard As String = CType(e.Item.FindControl("hdnIDCard"), TextBox).Text

Dim strName As String = CType(e.Item.FindControl("txtName"), TextBox).Text
Dim strIDCard As String = CType(e.Item.FindControl("txtIDCard"), TextBox).Text

Dim strUpdate As String = "delete from tbEmployee where 姓名=@Name and 身份证号=@ID "
Dim SqlTmp As New SqlCommand(strUpdate, cn)
SqlTmp.Parameters.Add(New SqlParameter("@Name", SqlDbType.NVarChar, 30)).Value = Trim(oldName)
SqlTmp.Parameters.Add(New SqlParameter("@ID", SqlDbType.NVarChar, 18)).Value = Trim(oldIDCard)

Try
SqlTmp.ExecuteNonQuery()
Catch ex As Exception
Response.Write(ex.Message & "<br>")

End Try
DataGrid1.EditItemIndex = -1
BindGrid()

End Sub

执行“修改”正确,但是,当点击“删除”按钮时,系统报错如下:
“未将对象引用设置到对象的实例。 ”


请各位帮忙看看是什么问题。谢了!
...全文
24 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gong1 2003-09-30
  • 打赏
  • 举报
回复
Dim strUpdate As String = "delete from tbEmployee where 姓名=@Name and 身份证号=@ID "
这一句有错误!
Dim strUpdate As String = "delete from tbEmployee where id="+Convert.ToInt32(id);
seesea125 2003-09-30
  • 打赏
  • 举报
回复
删除是按钮,ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs写是不对的
public void del(object objsource, EventArgs objargs)
{
//点击删除按钮后删除记录,并及时刷新页面
Button bt=(Button)objsource;
TableCell tc=(TableCell)bt.Parent;
DataGridItem item=(DataGridItem)tc.Parent;
string id=item.Cells[0].Text;
string sql="delete from telrecord where id="+Convert.ToInt32(id);;
int rows=myclass.ExecuteNonQuery(sql);
}
huangwangman 2003-09-30
  • 打赏
  • 举报
回复
能不能给出比较详细的代码?
郁闷哦
ruanyuping 2003-09-30
  • 打赏
  • 举报
回复
up

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧