补充一句,数据可以读出来,就是修改不了,估计是updata的时候出错了!
解决方案 »
- 怎样判断一个线程定义后,是否创建了实例??
- 提问关于C# WINDOWS图形问题(Nord-Tec Snow Flakes)
- Access 数据库访问,OleDbCommandBuilder 更新数据源出现异常
- 在c#中对sql数据库的修改不能同步到物理数据库
- 第一天学web service的问题
- 在启动一个exe进程后,如何向其界面中写入一个字符串?
- 40分求几道开卷试题答案。大家帮帮忙
- 难道这样一个关于Form的title的问题解决不了吗?***************
- 高分求SQL问题,关于汇总数据(300分)
- 想学C#,不知从何下手!
- 请大家帮我看看这个数据文件是什么数据库创建的?
- 有什么 控件做容器可以使内部空间等比例缩放
如果实现了,则说明更新操作没有问题,则在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();
+ 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 + "'"看有没有数据
+ 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 以此类推。)
所以导致了约束冲突,请问应如何改?谢谢高手们。