我的DetailsView控件用的DataSource绑定数据源,不知道怎么更新编辑后的数据,求助各位大神。。。
protected void Page_Load(object sender, EventArgs e)
{
string constr = "server=HEJIANGUANG-PC;database=EmpTrain;uid=sa;pwd=112400";//数据库连接字符串
SqlConnection sqlCon = new SqlConnection(constr);
sqlCon.Open();
string str_Emp = "select vEmpID as 员工编号,vName as 姓名,vEmpPhone as 电话,vDeparID as 部门编号,vFiniClassID as 已完成课程,vClassID as 还需完成课程,vPermissionID as 权限等级 from Emp_Tab where vEmpID = '" + Session["username"].ToString().Trim() + "'";
SqlDataAdapter sqlDa = new SqlDataAdapter(str_Emp, constr);
DataSet ds = new DataSet();
sqlDa.Fill(ds, "Depar_Tab");
DetailsView1.DataSource = ds.Tables[0];
//DetailsView1.DataKeyNames = new string[]{"vEmpID"};
DetailsView1.DataBind();
}
public void bind()
{
string constr = "server=HEJIANGUANG-PC;database=EmpTrain;uid=sa;pwd=112400";//数据库连接字符串
SqlConnection sqlCon = new SqlConnection(constr);
sqlCon.Open();
string str_Emp = "select vEmpID as 员工编号,vName as 姓名,vEmpPhone as 电话,vDeparID as 部门编号,vFiniClassID as 已完成课程,vClassID as 还需完成课程,vPermissionID as 权限等级 from Emp_Tab where vEmpID = '" + Session["username"].ToString().Trim() + "'";
SqlDataAdapter sqlDa = new SqlDataAdapter(str_Emp, constr);
DataSet ds = new DataSet();
sqlDa.Fill(ds, "Depar_Tab");
DetailsView1.DataSource = ds;
//DetailsView1.DataKeyNames = new string[] { "vEmpID" };
DetailsView1.DataBind();
}
protected void DetailsView1_ModeChanging(object sender, DetailsViewModeEventArgs e)
{
this.DetailsView1.DefaultMode = e.NewMode;
}
protected void DetailsView1_ItemCommand(object sender, DetailsViewCommandEventArgs e)
{
if (e.CommandName.Equals("Edit"))
{
this.DetailsView1.ChangeMode(DetailsViewMode.Edit);
DetailsView1.DataBind();
}
else if(e.CommandName.Equals("Cancel"))
{
DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);
DetailsView1.DataBind();
}
}
protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
string constr = "server=HEJIANGUANG-PC;database=EmpTrain;uid=sa;pwd=112400";//数据库连接字符串
SqlConnection sqlCon = new SqlConnection(constr);
sqlCon.Open();
string str_Emp = "select vEmpID as 员工编号,vName as 姓名,vEmpPhone as 电话,vDeparID as 部门编号,vFiniClassID as 已完成课程,vClassID as 还需完成课程,vPermissionID as 权限等级 from Emp_Tab where vEmpID = '" + Session["username"].ToString().Trim() + "'";
SqlDataAdapter sqlDa = new SqlDataAdapter(str_Emp, constr);
DataSet ds = new DataSet();
sqlDa.Fill(ds, "Depar_Tab");
DetailsView1.DataSource = ds;
string sqlstr = "update Emp_Tab set vName ='"
+ ((TextBox)(DetailsView1.Rows[1].Cells[1].Controls[0])).Text.ToString().Trim() + "',vEmpPhone='"
+ ((TextBox)(DetailsView1.Rows[2].Cells[1].Controls[0])).Text.ToString().Trim() + "',vDeparID='"
+ ((TextBox)(DetailsView1.Rows[3].Cells[1].Controls[0])).Text.ToString().Trim() + "' where vEmpID='"
+ Session["username"].ToString().Trim() + "'";
SqlCommand sqlcom = new SqlCommand(sqlstr, sqlCon);
sqlcom.ExecuteNonQuery();
sqlCon.Close();
DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);
DetailsView1.DataBind();
}