日期:2014-05-17  浏览次数:20473 次

ListView_Updating的对数据库的操作执行了,但是就是不起作用,是什么原因呢?
 protected void ListView1_ItemUpdating(object sender, ListViewUpdateEventArgs e)
    {
        //获取ListView中的DropDownList控件
        DropDownList ddlType = (DropDownList)ListView1.Items[e.ItemIndex].FindControl("ddlType");
                Label lbbh = (Label)ListView1.Items[e.ItemIndex].FindControl("qxbhLabel1");
        /*将选择的项更新会数据库*/
        string sqlStr = "update T_qixie set qxlx=@qxlx where qxbh=@qxbh";
        using (SqlConnection connection = new SqlConnection(System.Web.Configuration.WebConfigurationManager.AppSettings["Conn"].ToString()))
        {
            using (SqlCommand command = new SqlCommand(sqlStr, connection))
            {
                command.Parameters.Add("@qxlx", SqlDbType.VarChar, 50);
                command.Parameters.Add("@qxbh", SqlDbType.Int, 4);
                command.Parameters[0].Value = ddlType.SelectedValue;
                command.Parameters[1].Value = Convert.ToInt32(lbbh.Text);
                command.Connection.Open();
                command.ExecuteNonQuery();
            }
        }
    }

语法没有错误,但是执行之后数据库中的表没有变化,求解答!!!!!!!!!!!!

------解决方案--------------------
这是bug吗?
回答不是,是因为你没能理解这个控件的定义,光从命名上讲
ListView1_ItemUpdating 是在修改时发生(理解为,点修改按钮时发生,用于绑定数据)

ListView1_ItemUpdated 是在修改后发生(理解为,修改完信息后,点保存发生)