本週的進度:
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,可能是當時講了我沒記清楚。。。
修改:
刪除周八等課程:
查詢信息:
教師信息:
課程信息:
代碼比較多就不在這兒放了,基本操作完成的感覺還可以,後續再繼續完善~