【第三次實驗進度博客】C#中對數據庫的增刪改查

本週的進度:

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(); 即可。

con.close()和con.dispose()區別

 

主要是因爲我把

連接數據庫的語句拉到了外面作爲了公共實例化對象來使用,因此每次用完之後並沒有重新實例化連接對象,所以finally中的dispose也就決定了con再次open時會報錯。最後了發現老師的在查詢部分也用了close,可能是當時講了我沒記清楚。。。

 

修改:

 

刪除周八等課程:

 

查詢信息:

 

教師信息:

 

課程信息:

 

 

 

 

代碼比較多就不在這兒放了,基本操作完成的感覺還可以,後續再繼續完善~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章