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();
            }
        }
    }语法没有错误,但是执行之后数据库中的表没有变化,求解答!!!!!!!!!!!!

解决方案 »

  1.   

    语法绝对没问题,假如表没有变化的话请检查command.Parameters[1].Value = Convert.ToInt32(lbbh.Text);这个条件。是否因为没有满足条件的记录所以才没有更新成功。
      

  2.   

     ListView1_ItemUpdating 执行后再绑定一次数据
      

  3.   

    您的意思是在ListView1_ItemUpdated里面绑定数据吗?
    有没有案例给我看看,谢谢高手!!!
      

  4.   

    ms关于listview有个bug,就是不能获取服务端的dropdownlist控件,不信您试一试,有解决方案我没怎么看明白
    http://www.baidu.com/s?tn=95024068_cb&ie=utf-8&bs=csdn&f=8&rsv_bp=1&wd=listview+bug&rsv_sug3=7&rsv_sug=0&rsv_sug4=430&rsv_sug1=3&inputT=4796
      

  5.   

    http://www.baidu.com/s?tn=95024068_cb&ie=utf-8&bs=csdn&f=8&rsv_bp=1&wd=listview+bug&rsv_sug3=7&rsv_sug=0&rsv_sug4=430&rsv_sug1=3&inputT=4796
      

  6.   

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

  7.   

    ListView1_ItemUpdated函数里同样不能获取到dropdownlist控件的id
      

  8.   

    点击修改时先执行protected void ListView1_ItemEditing(object sender, ListViewEditEventArgs e)
      {
                ListView1.EditIndex = e.NewEditIndex;
                listviewBind()//一个绑定数据的方法
      }
    点击修改时执行
    protected void ListView1_ItemUpdating(object sender, ListViewUpdateEventArgs e)
    {
    DropDownList ddlType = (DropDownList)ListView1.Items[e.ItemIndex].FindControl("ddlType");
                    Label lbbh = (Label)ListView1.Items[e.ItemIndex].FindControl("qxbhLabel1");
    }
    listviewBind()//最后一个绑定数据的方法