datagrid 命令问题???急呀!!!
本人在使用datagrid进行删除命令时使用下面的程序执行:
public void zhsylxxx_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string selxh=zhsylxxx.DataKeys[e.Item.ItemIndex].ToString();
string sql="delete from 宗海信息数 where 宗海序号='"+selxh+"'";
conn.open();
SqlCommand cmd = new SqlCommand(sql,conn);
cmd.ExecuteNonQuery();
conn.Close();
this.OpenDB3();
this.Label3.Text="删除成功";
}
this.OpenDB3();是数据库与datagrid的重新绑定,发现执行两次,本来删除正确,两次执行删除了两行,而且在最后一行,由于执行两次,发生找不到此行的错误,怎么解决呀?如何让它只执行一次操作呢?大虾帮忙啊!!!


而且:使用
public void zhsylxxx_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if (e.CommandName == "append1"
{
string sql4 = "select * from 宗海信息数 where 宗海序号='"+((System.Web.UI.WebControls.TextBox)e.Item.FindControl("newzhxh").Text+"'";
conn.open();
SqlCommand cmd=new SqlCommand(sql4,conn);
SqlDataReader dr=cmd.ExecuteReader();
if(dr.Read())
{
this.Label3.Text="该材料名称已经存在";
dr.Close();
conn.Close();
}
else
{
dr.Close();
string sql11="insert into 宗海信息数..............     
this.Label3.Text="添加成功";
conn.Close();
}
}

this.OpenDB3();     
}
发现也执行两次,那么label3.text中显示的内容就出现错误了,如何保证只执行一次呢?
大虾帮忙啊!
[em10]