張麗景
(蘭州石化職業(yè)技術(shù)學(xué)院信息處理與控制工程系,甘肅蘭州 730060)
C#中用ADO.NET連接SQL Server數(shù)據(jù)庫教學(xué)方法探討
張麗景
(蘭州石化職業(yè)技術(shù)學(xué)院信息處理與控制工程系,甘肅蘭州 730060)
本文針對(duì)C#中用ADO.NET連接SQL Server數(shù)據(jù)庫知識(shí)點(diǎn),結(jié)合蘭州石化職業(yè)技術(shù)學(xué)院數(shù)據(jù)庫課程教學(xué)經(jīng)驗(yàn),從學(xué)生的實(shí)際認(rèn)知能力出發(fā),綜合運(yùn)用案例式教學(xué)法和問題驅(qū)動(dòng)式教學(xué)法,以項(xiàng)目教學(xué)為線索,趣味教學(xué)為指導(dǎo)思想,形象化教學(xué)為核心,給出了詳細(xì)的教學(xué)設(shè)計(jì)方案。
ADO.NET;SQLServer數(shù)據(jù)庫;案例式教學(xué)法;問題驅(qū)動(dòng)式教學(xué)法
C#中利用ADO.NET連接SQL Server數(shù)據(jù)庫是一門非常成熟的技術(shù),操作方法簡單,步驟清晰[1]。但學(xué)生在實(shí)踐過程中暴露出很多問題,大部分學(xué)生只會(huì)簡單模仿,遇到錯(cuò)誤不會(huì)修改,變換題目就不會(huì)做。究其原因,一方面SQL Server數(shù)據(jù)庫課程偏工具使用性質(zhì),學(xué)生在學(xué)習(xí)時(shí)往往過多關(guān)注操作而回避基礎(chǔ)知識(shí)理解[2];另一方面學(xué)生對(duì)連接數(shù)據(jù)庫的基本步驟死記硬背,不能靈活運(yùn)用。
通過對(duì)甘肅省不同高校SQL Server數(shù)據(jù)庫教學(xué)方法的問卷調(diào)查,大部分教師是按照使用ADO.NET開發(fā)數(shù)據(jù)庫應(yīng)用程序的基本步驟進(jìn)行講解的,主要分為如下5步:1)根據(jù)使用的數(shù)據(jù)源,確定使用的. NET Framework數(shù)據(jù)提供程序。2)使用Connection對(duì)象建立與數(shù)據(jù)源的連接。3)使用Command對(duì)象執(zhí)行對(duì)數(shù)據(jù)源的操作命令。4)使用DataReader、DataSet等對(duì)象對(duì)獲得的數(shù)據(jù)進(jìn)行操作。5)使用數(shù)據(jù)控件向用戶顯示結(jié)果數(shù)據(jù)[3]。
這種教學(xué)方法雖然條理清晰,結(jié)構(gòu)緊密,但由于缺乏趣味性,不夠形象化,學(xué)生大多只是記住了操作步驟和代碼格式,對(duì)程序調(diào)試過程中出現(xiàn)的錯(cuò)誤往往因?yàn)槔聿磺逅悸范恢?。如何有效改善教學(xué)方法,激發(fā)學(xué)生的學(xué)習(xí)興趣,才是提高課程教學(xué)質(zhì)量的關(guān)鍵。
案例式教學(xué)已經(jīng)被證實(shí)是一種行之有效的教學(xué)方法。新穎有趣、難度適中的教學(xué)案例往往會(huì)把知識(shí)點(diǎn)、技能點(diǎn)簡化,使教學(xué)過程變得輕松,教學(xué)效果事半功倍。案例式教學(xué)往往會(huì)結(jié)合使用問題驅(qū)動(dòng)教學(xué)法,在教學(xué)過程中設(shè)置環(huán)環(huán)相扣的小問題,引導(dǎo)學(xué)生自主思考,挖掘問題本質(zhì),充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性和主動(dòng)性,真正讓學(xué)生變成課堂的主體。學(xué)生在輕松愉快的氛圍中將知識(shí)吸收、消化[4]。蘭州石化職業(yè)技術(shù)學(xué)院數(shù)據(jù)庫教學(xué)團(tuán)隊(duì)從學(xué)生的認(rèn)知能力出發(fā),融合這兩種教學(xué)方法,以課堂隨機(jī)抽選學(xué)生回答問題的小程序?yàn)槔O(shè)計(jì)如下。
圖1 項(xiàng)目界面
1)建立數(shù)據(jù)庫Test和表student,主要表結(jié)構(gòu)如表1所示,在表中添加學(xué)生的姓名信息。
表1 student
2)在VS2010中建立新工程和如圖1所示的窗體。
3)編寫“開始”、“暫停”和“結(jié)束”按鈕代碼。
圖2表示利用ADO.NET連接SQL Server數(shù)據(jù)庫的核心過程。
圖2 利用ADO.NET連接SQL Server數(shù)據(jù)庫的核心過程
這里把數(shù)據(jù)庫比作一個(gè)“倉庫”,打開這個(gè)倉庫的第一步是什么?拿到“鑰匙”;有了鑰匙之后,“誰”拿這把鑰匙去“打開”倉庫?倉庫打開之后,要“取什么”?貨物取出來之后“放到哪里”?這里要考慮貨物“怎么取”和“怎么放”的問題;最后一步是“鎖門”。
該過程設(shè)計(jì)貼近現(xiàn)實(shí)生活,教師通過提問循循引導(dǎo)學(xué)生思考、理解連接數(shù)據(jù)庫的過程。此時(shí),利用ADO.NET訪問數(shù)據(jù)庫可表示成如下形式:
1)明確數(shù)據(jù)庫類型,確定連接字符串——找到“鑰匙”。
SQL Server數(shù)據(jù)庫的連接字符串——conStr有以下兩種情況:
實(shí)例環(huán)境1:SQL Server服務(wù)器在本地,登陸模式為Windows身份驗(yàn)證模式,連接的數(shù)據(jù)庫為Test。
【應(yīng)用】conStr="Data Source=(local);Initial Catalog=Test;Integrated Security=True";
實(shí)例環(huán)境2:SQL Server服務(wù)器的IP地址為192.168.4.1,登陸模式為SQL Server身份驗(yàn)證模式,連接的數(shù)據(jù)庫為Test,登陸的帳戶名稱為sa,登陸密碼為123456。
2)確定連接對(duì)象——“誰”拿鑰匙。
第1步:引入命名空間。
【語法】using System.Data.SqlClient;
第2步:實(shí)例化連接對(duì)象。
【語法】SqlConnection對(duì)象名=newsqlConnection(ConnectionString);
【應(yīng)用】SqlConnection con=new SqlConnection (conStr);
(2)當(dāng)攪拌機(jī)將物料倒放到運(yùn)料卡車上時(shí),卡車需要前后移動(dòng),按前后中的順序分為三堆,以減少粗集料發(fā)生離析的現(xiàn)象。
3)打開數(shù)據(jù)庫——“打開”倉庫。
【語法】連接對(duì)象名.Open();
【應(yīng)用】con.Open();
4)確定SQL語句——“取什么”。
【說明】根據(jù)用戶需求,編寫SQL語句。
【應(yīng)用】strSQL="Select sname from student";
5)確定sqlDataAdapter對(duì)象——“怎么取”。
【語法】SqlDataAdapter對(duì)象名=new SqlData-Adapter(SQL語句,連接對(duì)象名);
【應(yīng)用】SqlDataAdapter myAD=new SqlData-Adapter(strSQL,con);
6)填充DataSet對(duì)象——“怎么放”。
第1步:創(chuàng)建對(duì)象。
【語法】DataSet對(duì)象名=new DataSet();
【應(yīng)用】DataSet myDS=new DataSet();
第2步:存放數(shù)據(jù)。
【語法】SqlDataAdapter對(duì)象名.Fill(DataSet對(duì)象名,標(biāo)簽名稱);
【應(yīng)用】myAD.Fill(myDS,"student");
7)關(guān)閉數(shù)據(jù)庫——“鎖門”。
【語法】連接對(duì)象.Close();
連接對(duì)象.Dispose();
【應(yīng)用】con.Close();
con.Dispose();
通過這7步的講解和操作演示,學(xué)生對(duì)C#下利用ADO.NET連接SQL Server數(shù)據(jù)庫的過程會(huì)有直觀、清晰的認(rèn)識(shí),更易理解和記憶。
該教學(xué)方法自2012年在蘭州石化職業(yè)技術(shù)學(xué)院計(jì)算機(jī)相關(guān)專業(yè)開始實(shí)施,不論是統(tǒng)一招生的理科生、文科生,還是自主招生學(xué)生,均表示該方法形象、生動(dòng),貼近現(xiàn)實(shí)生活,便于記憶和理解。對(duì)2012年前后三年學(xué)生在數(shù)據(jù)庫課程綜合實(shí)訓(xùn)及畢業(yè)設(shè)計(jì)中的成績評(píng)定平均值進(jìn)行對(duì)比,明顯發(fā)現(xiàn)學(xué)生對(duì)管理信息系統(tǒng)的開發(fā)能力有很大的提升。
連接數(shù)據(jù)庫是應(yīng)用系統(tǒng)開發(fā)的重要環(huán)節(jié),是計(jì)算機(jī)相關(guān)專業(yè)學(xué)生必須掌握的職業(yè)技能。不論選擇何種開發(fā)語言和目標(biāo)數(shù)據(jù)庫,連接數(shù)據(jù)庫的基本思想和操作步驟是一致的[5]。教學(xué)時(shí)充分把握學(xué)生心理,利用多種教學(xué)方法,結(jié)合現(xiàn)代多媒體技術(shù),對(duì)課程內(nèi)容進(jìn)行加工和案例化處理,是提高教學(xué)效果的有效途徑[6]。本文以C#中用ADO.NET連接SQL Server數(shù)據(jù)庫為教學(xué)載體,案例式教學(xué)為線索,趣味教學(xué)為指導(dǎo)思想,形象化教學(xué)為核心,給出了詳細(xì)的教學(xué)設(shè)計(jì)方案,以給高職教師的數(shù)據(jù)庫課程教學(xué)提供一定的參考。
表2 數(shù)據(jù)庫課程綜合實(shí)訓(xùn)及畢業(yè)設(shè)計(jì)三年成績評(píng)定平均值比較/%
[1]劉濤.ASP.Net的數(shù)據(jù)庫連接技術(shù)探討[J].韶關(guān)學(xué)院學(xué)報(bào):自然科學(xué)版,2011,32(4):15-16.
[2]王若賓,胡健,杜春濤,等.文科專業(yè)數(shù)據(jù)庫課程教學(xué)方案設(shè)計(jì)——兼談?dòng)?jì)算思維的培養(yǎng)[J].計(jì)算機(jī)教育,2014(11):14-17.
[3]錢冬雨,周雅靜.SQL Server 2005數(shù)據(jù)庫應(yīng)用技術(shù)[M].北京:清華大學(xué)出版社,2010:284.
[4]趙慧敏,楊鑫華,牛一捷.數(shù)據(jù)庫課程設(shè)計(jì)實(shí)踐教學(xué)改革探索[J].當(dāng)代教育論壇,2011(8):49-50.
[5]張鯤.高校計(jì)算機(jī)專業(yè)數(shù)據(jù)庫課程設(shè)計(jì)教學(xué)指導(dǎo)與實(shí)踐研究[J].軟件,2012,33(2):84-86.
[6]楊雪.職業(yè)院校計(jì)算機(jī)類課程教學(xué)方法初探[J].職業(yè)教育研究,2011(6):150.
(責(zé)任編校:馬余平)
Discussion on the Database Teaching Methods of the Connection between ADO.NET and SQL Server in C#
ZHANG Li-jing
(Department of Information Processing and Control Engineering,Lanzhou Petrochemical Vocational and Technical College,Lanzhou,Gansu 730060)
This paper aimed at the c#using ADO.NET to connect SQL Server database knowledge and combined the teaching experience of the course database of Lanzhou Petrochemical Vocational and Technical College.Starting from the actual cognitive ability of students,this paper comprehensively used case teaching method and problem-driven type teaching method and provides a detailed teaching design scheme with the project teaching as a clue,interesting teaching as the guiding ideology,and visualizes teaching as the core.
ADO.NET;SQL Server database;the case teaching method;problem-driven type teaching method
TP 311.13
A
1672-738X(2014)06-0069-03
2014-10-10
蘭州石化職業(yè)技術(shù)學(xué)院一般教科研項(xiàng)目(JY2013-29);甘肅省教育廳碩士研究生導(dǎo)師一般項(xiàng)目(1015B-6)。
張麗景(1981—),女,河南鞏義人,軟件開發(fā)與測試講師,軟件工程碩士,主要從事軟件技術(shù)、軟件測試專業(yè)教學(xué)。