本周的进度:
1、设及了一个个人课程表的数据库,其中主要包括三个表:课程表信息、课程信息、教师信息,后两者以课程号和教师编号为主码,分别作为课程表信息中的外码,课程表信息以星期和节次为主码,主要代码以下所示,前期有些简单,后面再慢慢完善。
create table teacher(
tno char(9) primary key,
tname char(10),
title char(10), //职称
tmajor char(10) //所属专业
)
create table course(
cno char(9) primary key,
cname char(10),
ctime char(10), //课时
examine char(10), //考查方式
ctno char(9), //老师编号
foreign key(ctno) references teacher(tno)
)
create table clatime(
weektime char(10) ,
classnumber int,
scno char(9),
foreign key(scno) references course(cno),
stno char(9),
foreign key(stno) references teacher(tno),
primary key(weektime,classnumber)
)
insert into teacher values('1555','王明','副教授','CS');
insert into teacher values('1444','赵天海','讲师','AI');
insert into teacher values('1111','李杰','无','CS');
insert into teacher values('1222','孙磊','副教授','AI');
insert into teacher values('1333','周悦','教授','AI');
insert into teacher values('2333','郑平','副教授','政法');
insert into teacher values('2666','周悦','教授','政法');
insert into teacher values('3666','王东','教授','体育');
insert into course values('02','数据库原理','52','考试','1222');
insert into course values('03','电子线路','72','考试','1111');
insert into course values('04','马克思原理','72','考试','2333');
insert into course values('05','创业基础','36','论文','1555');
insert into course values('06','大学英语','72','考试','1444');
insert into course values('07','电路实验','72','考察','1111');
insert into course values('08','数据库实验','72','考察','1222');
insert into course values('09','毛泽东概论','72','论文','2666');
insert into course values('10','大学体育','72','考察','3666');
insert into course values('11','运筹学','72','考试','1333');
insert into course values('12','数学模型','72','考察','1333');
insert into course values('01','数学模型','72','考试','1233');
insert into clatime values('周一',1,'02','1222');
insert into clatime values('周一',2,'03','1111');
insert into clatime values('周一',3,'02','1555');
insert into clatime values('周一',5,'04','2333');
insert into clatime values('周二',2,'12','1333');
insert into clatime values('周二',3,'06','1444');
insert into clatime values('周二',5,'12','1333');
insert into clatime values('周三',2,'07','1111');
insert into clatime values('周三',3,'02','1222');
insert into clatime values('周三',4,'02','1222');
insert into clatime values('周三',5,'09','2666');
insert into clatime values('周四',1,'06','1444');
insert into clatime values('周四',2,'03','1111');
insert into clatime values('周四',5,'09','2666');
insert into clatime values('周五',2,'11','1333');
insert into clatime values('周五',3,'10','3666');
insert into clatime values('周五',3,'10','3666');
登陆面:
主页面
增加:
值得一提的是,增删改查的过程中遇到了一个主要的问题困扰了我一段时间,错误是发生在每次启动程序之后,增删改都只能操作一次,比如如上增加完之后如果不重启程序直接修改的话就会报如下错误:
经过一段时间的查找资料和调试程序,终于发现了错误之所在:
主要是因为我们每个button里都有一句这个con.Open();语句,但在用完之后并没有关闭他,因此如果不重启程序的话,他就会一直打开着。解决方法是:在每个button最后都将其关闭:con.Close(); 即可。
主要是因为我把
连接数据库的语句拉到了外面作为了公共实例化对象来使用,因此每次用完之后并没有重新实例化连接对象,所以finally中的dispose也就决定了con再次open时会报错。最后了发现老师的在查询部分也用了close,可能是当时讲了我没记清楚。。。
修改:
删除周八等课程:
查询信息:
教师信息:
课程信息:
代码比较多就不在这儿放了,基本操作完成的感觉还可以,后续再继续完善~