补充一句,数据可以读出来,就是修改不了,估计是updata的时候出错了!

解决方案 »

  1.   

    1、先确认下: 【("update tb_Lesson set Name='" + this.txtLessName.Text + "',ofProfession='" + ddlProfession.SelectedIndex + "' where  ID='" + getid + "'"); 】生成的SQL语句是否正确!2、若SQL语句正确,在看看dataconn.eccom是否对,这个应该是你封装的函数吧,看看是否有问题。基本上这2个步骤走下来,问题就差不多能够解决了。(尤其注意第一条,那个SQL是否正确)
      

  2.   

    再刷新一下页面,看看update语句是否实现。
    如果实现了,则说明更新操作没有问题,则在Response.Redirect之前添加代码
    SqlConnection con = dataconn.getcon(); 
                con.Open(); 
                SqlDataAdapter mydataadapter = new SqlDataAdapter("select * from tb_Lesson where ID=" 
                    + Request["id"], con); 
                DataSet mydataset = new DataSet(); 
                mydataadapter.Fill(mydataset, "tb_lesson"); 
                DataRowView rowview = mydataset.Tables["tb_lesson"].DefaultView[0]; 
                this.txtLessName.Text = Convert.ToString(rowview["Name"]); 
                ddlProfession.Text = Convert.ToString(rowview["ofProfession"]); 
                con.Close(); 
      

  3.   

     dataconn.eccom("update tb_Lesson set Name='" + this.txtLessName.Text + "',ofProfession='" 
                + ddlProfession.SelectedIndex + "' where  ID='" + getid + "'"); 在这句话之前,加上:
    string updateSql=("update tb_Lesson set Name='" + this.txtLessName.Text + "',ofProfession='" 
                + ddlProfession.SelectedIndex + "' where  ID='" + getid + "'";
    Response.Write(updateSql);
    然后去页面上将得到的sql语句去数据库中执行一下,如果无数据更新,则说明程序本身没问题,是你SQL语句有问题在数据库中执行select * from tb_Lesson where ID='" + getid + "'"看有没有数据
      

  4.   

    谢谢高手们指点,查出问题来了。dataconn.eccom封装函数没问题,因为其他页面也调用都没出问题,是SQL语句有问题。在dataconn.eccom("update tb_Lesson set Name='" + this.txtLessName.Text + "',ofProfession='" 
                + ddlProfession.SelectedIndex + "' where  ID='" + getid + "'"); 
    之前加上
    string updateSql=("update tb_Lesson set Name='" + this.txtLessName.Text + "',ofProfession='" 
                + ddlProfession.SelectedIndex + "' where  ID='" + getid + "'"; 
    Response.Write(updateSql); 
    到页面上将得到的sql语句去数据库中执行了一下,发现错误为:消息 547,级别 16,状态 0,第 1 行
    UPDATE 语句与 FOREIGN KEY 约束"FK_tb_Lesson_tb_Profession"冲突。该冲突发生于数据库"db_Examination",表"dbo.tb_Profession", column 'ID'。
    语句已终止。表tb_Profession 中字段有ID(自动编号) Name(专业名称)
    表tb_Lesson  中的字段ofProfession 约束于tb_Profession 表中的ID
    因为前面对tb_Profession 表中的数据进行了删除操作,因为ID则不从0或1 开始,而ddlProfession.SelectedIndex下拉菜单中得到的数据是从0开始的(下拉菜单第一个数据 编号为0  第二哥特编号为1  以此类推。)
    所以导致了约束冲突,请问应如何改?谢谢高手们。