ASP.NET中数据库的操作
【题目看起来长,但并不是费时间!麻烦各位了】
string str1, str2, str3;
str1 = sql; //sql保存的是 “学生编号”
str2 = str; //str保存的是 “课程1”的课程名称
str3 = "abc";
string sql1 = string.Empty;
sql1 += string.Format("insert into Schedule values('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}')" , str1, str2, str3, str3, str3, str3, str3, str3, str3);
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
执行上述的代码后为什么总是提示下面的错误:
“/WebSite2”应用程序中的服务器错误。
--------------------------------------------------------------------------------
INSERT 语句与 FOREIGN KEY 约束"FK__Schedule__课程2__3F466844"冲突。该冲突发生于数据库"software_project",表"dbo.Course", column '课程名称'。
语句已终止。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: INSERT 语句与 FOREIGN KEY 约束"FK__Schedule__课程2__3F466844"冲突。该冲突发生于数据库"software_project",表"dbo.Course", column '课程名称'。
语句已终止。
源错误:
行 89: cn.Open();
行 90: //执行命令对象的方法
行 91: cmd.ExecuteNonQuery();
行 92: //关闭连接
行 93: cn.Close();
源文件: f:\Liuxiaowei\VS\Software_Project\WebSite2\Default3_1.aspx.cs 行: 91
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
其中Schedule和Course为两个表其定义如下所示:
create table Student
(
姓名 varchar(20) not null,
出生日期 varchar(8),
身份证号 varchar(20),
职务 varchar(20),
学院 varchar(20) not null,
毕业时间 varchar(8), --可以为空
用户名 varchar(20) primary key,
密码 varchar(20) not null
)
create table Course
(
课程编号 varchar(20) not null,
课程名称 varchar(40) primary key,
授课老师 varchar(60),
课程性质 varchar(10) not null, --必修选修
上课时间 varchar(30) not null,
学院 varchar(30) not null,
预备知识 varchar(100),
课程费用 varchar(20) not null,
--选课人数 int default 0
)
create table Schedule
(
foreign key(学生编号) references Student(用户名),
foreign key(课程1) references Course(课程名称),
foreign key(课程2) references Course(课程名称),
foreign key(课程3) references Course(课程名称),
foreign key(课程4) references Course(课程名称),
学生编号 varchar(20) primary key,
课程1 varchar(40),
课程1成绩 varchar(5),
课程2 varchar(40),
课程2成绩 varchar(5),
课程3 varchar(40),
课程3成绩 varchar(5),
课程4 varchar(40),
课程4成绩 varchar(5)
)