存在两张表,表1是存放操作用户信息,表2是存放操作权限的。
表1结构(id,password,power)
表2结构(powerid,powername)
查询的语句是这样子的:select id,password,powername where 表1.power=表2.powerid我帮查询结果输出至datagridview中,但是我想在datagridview中的列power添加一个下拉框(这个如何实现),可以存放表2的所有powername,然后主窗体中有一个按钮,可以更新该datagridview至数据库的这两张表中,但是这是基于多表更新的,请问更新语句如何写呢?
普通的用update也不行的,分开更新的话如何写更新语句呢?这种情况咋处理

解决方案 »

  1.   

    1.我想在datagridview中的列power添加一个下拉框(这个如何实现)
    这个应该只要在gridview里面添加个dropdownlist控件,页面加载的时候给dropdownlist绑定datasourcer
    具体可以参考下这篇文章http://blog.sina.com.cn/s/blog_7a9fceda0100qg2g.html
    2可以更新该datagridview至数据库的这两张表中,但是这是基于多表更新的,请问更新语句如何写呢?
    答:从你的需求看,应该表2结构(powerid,powername)这个table应该不需要变更,你只要更新
    表1结构(id,password,power)中的power,这个应该对应表2中的id!
    你把power_id作为dropdownlist的DataValueFiled,
    而将Powername作为dropdownlist的DataTextFiled
    还是说LZ想在页面添加其他权限进来?
    PS。dropdownlist要在页面就绑定DB里面对应的power,要循环绑定下!多个隐藏列存放DB当前的power!
    然后绑定到DDL selectvalue
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (((DropDownList)e.Row.FindControl("DDLXueli")) != null)
            {       
                DropDownList ddlxueli = (DropDownList)e.Row.FindControl("DDLXueli");            //  生成 DropDownList 的值,绑定数据
                string connStr = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
                string SqlStr = "SELECT * from xueli";
                DataSet ds = new DataSet();            SqlConnection conn = new SqlConnection(connStr);
                if (conn.State.ToString() == "Closed") conn.Open();
                SqlDataAdapter da = new SqlDataAdapter(SqlStr, conn);
                da.Fill(ds, "xueli");
                if (conn.State.ToString() == "Open") conn.Close();            ddlxueli.DataSource = ds.Tables[0].DefaultView;
                ddlxueli.DataTextField = "description";
                ddlxueli.DataValueField = "code";
                ddlxueli.DataBind();
                //            //  选中 DropDownList
                ddlxueli.SelectedValue = ((HiddenField)e.Row.FindControl("HDFXueli")).Value;
                //
            }
        }
      

  2.   

    datagridview添加一列,设置列的类型为下拉类型列