999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LINQ語言的學生信息管理系統三層體系結構設計

2012-11-13 07:24:44段班祥
科技視界 2012年32期
關鍵詞:數據庫信息學生

段班祥

(廣東科學技術職業學院計算機工程技術學院 廣東 珠海 519090)

0 引言

長期以來,開發社區形成以下格局:面向對象與數據訪問兩個領域長期分裂,各自為政,編程語言中的數據類型與數據庫中的數據類型形成兩套體系。LINQ(Language Integrated Query)即語言集成查詢,是一組語言特性和API,使得你可以使用統一的方式編寫各種查詢。查詢的對象包括XML、對象集合、SQL Server數據庫等等。LINQ主要包含以下三部分:LINQ to Objects、LINQ to XML、LINQ to ADO.NET。而 LINQ to ADO.NET 主要包含:LINQ to SQL、LINQ to DataSet、LINQ to Entities。

三層結構主要分為:表示層、業務邏輯層和數據訪問層。表示層主要功能是為用戶提供一種交互式操作界面;業務邏輯層是表示層與數據訪問層之間的橋梁,負責關鍵業務的處理和數據傳遞;數據訪問層實現對數據的保存和讀取操作。其主要優點是當數據庫或用戶界面發生改變時不需要重新開發,只做簡單調整即可。

1 系統概述需求

下面我們具體使用LINQ和三層結構實現學生信息管理系統,本系統開發工具使用Visual Studio 2010,開發語言使用C#,開發數據庫使用SQL Server 2008,系統開發的總體任務是實現信息關系的系統化、規范化和自動化。系統的結構關系如圖1所示:

系統的結構關系圖是系統的總體功能分析,是在系統開發的總體任務的基礎上完成的。本項目中的學生信息系統需要完成的功能主要有:有關學籍等信息的輸入,包括學生基本信息、所在班級、所學課程和成績等;學生信息的查詢,包括學生基本信息、所在班級、已學課程、所有成績和獎罰信息等;學生信息(包括獎罰信息)修改;班級管理信息的輸入,包括班級設置、年級信息和班級輔導員等;班級管理信息的查詢;班級管理信息的修改;學校基本課程信息的輸入;基本課程信息的修改;學生課程的設置和修改;學生成績信息的輸入;學生成績信息的修改;學生成績信息的查詢;學生成績的報表打印;用戶登錄信息的添加、修改和刪除等;用戶登錄的密碼修改;數據庫文件的備份。

圖1 系統結構關系圖

2 LINQ和三層結構在學生信息管理系統中的應用

下面我們以“查詢所有學生的成績”模塊為例,說明如何具體使用LINQ和三層結構進行設計。LINQ提供了LINQ to DATASETS、LINQ to ENTITIES、LINQ to SQL等組件訪問數據源,且允許做所有與數據庫相關的操作。在學生信息管理系統中,主要使用LINQ to SQL組件訪問數據庫,但是其他各組件訪問數據源方法與其類似,可將其作為參考。

2.1 創建數據源MySchool.dbml

在數據訪問層把LINQ to SQL類增加到項目中,自動創建一個空白的設計器,與此同時,創建相關的dbml.layout文件和 designer.cs文件,并附有服務器資源管理器的鏈接。打開服務器資源管理器,建立與MySchool數據庫的鏈接,將所需要的表直接拖放到MySchool.dbml文件的視圖面板中,該文件的類與MySchool數據庫表相對應,最后保存dbml文件,此時,dbml文件里已經自動生成了包含相關的屬性、方法的DataContext類和實體類MySchool.dbml文件。

2.2 查詢所有學生的成績功能的三層結構設計

2.2.1 數據訪問層ResultService設計

查詢學生成績涉及到學生信息表Student、成績表Result、科目表Subject等三個表,我們使用LINQ查詢語句中的join子句進行聯接,同時利用左外聯接上一聯接的查詢結果上再進行一次查詢,具體語法如下:

2.2.2 業務邏輯層ResultManager和表示層的設計查詢學生成績功能業務邏輯相對比較簡單,具體代碼如下:

表示層窗體FrmSearchStu.cs中添加一個命令按鈕btnSearch、一個DataGridView控件dgvResult,編寫命令按鈕 “查詢所有學生的成績”單擊事件,實現查詢所有學生的成績。

學生信息管理系統其他功能模塊訪問數據庫所使用的全部實體類代碼使用Visual Studio 2010集成開發工具的LINQto SQL設計器自動生成,僅此一項就可以節省許多復雜代碼的編寫工作;LINQ把對數據庫的操作轉化為對實體類的操作,使編程思路和程序邏輯更加明確;同時,代碼中LINQ to OBJECT的使用也節約了大量的代碼編寫工作。由于數據訪問層代碼全部采用LINQ來實現,所以在編寫這些代碼時可以獲得編譯時的類型檢查和IntelliSense支持,提高了編程效率,大大節省了開發時間和成本。

另外,在軟件開發過程中,我們使用了三層結構,當數據庫或用戶界面發生改變時不需要重新開發,只做簡單調整即可,從而大大提高應對客戶變化的能力以及自身的生產力。

3 結束語

本文通過學生信息管理系統,分析了LINQ及LINQ TO SQL的概念和基本架構,對其核心技術和新特性進行了詳細的描述。結合三層結構,詳細介紹了LINQ數據庫訪問的基本方法,如查詢、修改、插入、刪除等操作。LINQ to SQL還全面支持事務、視圖、存儲過程,并且提供簡單的方式來集成數據驗證和業務邏輯規則。這些強大的功能和特性還有待在實際開發過程中繼續研究和應用。

[1]微軟公司.ADO.NET 3.5數據訪問程序開發[M].北京:人民郵電出版社,2010.

[2]宋智軍,邱仲潘.Visual C#2010 從入門到精通[M].北京:電子工業出版社,2011.

[3]牟永敏,丁媛,朱緒利,李良杰.基于LINQ技術的在線考試系統[J].北京信息科技大學學報,2011,26(2):19-24.

[4]涂曙光.LINQ 和LINQ 的未來[J].Technical News,2009,2:17.

猜你喜歡
數據庫信息學生
趕不走的學生
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數據庫
財經(2017年2期)2017-03-10 14:35:35
學生寫話
學生寫的話
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
聰明的學生等
主站蜘蛛池模板: 欧美激情视频二区| 爱爱影院18禁免费| 国产成人无码AV在线播放动漫| 97在线公开视频| 国产一级在线观看www色| 青草视频免费在线观看| 狠狠操夜夜爽| 欲色天天综合网| 中文字幕久久精品波多野结| 免费一级大毛片a一观看不卡| 最新国产精品第1页| 久综合日韩| 欧美a在线看| 国产亚洲视频在线观看| 日韩一区二区三免费高清| 国产97公开成人免费视频| 亚洲综合九九| 免费国产高清视频| 国产精品三级专区| 999精品免费视频| 国产又粗又爽视频| 五月天久久婷婷| 91九色视频网| 青青青国产视频手机| 波多野结衣无码AV在线| 久久女人网| 女同久久精品国产99国| 毛片免费视频| 看av免费毛片手机播放| 色香蕉网站| 国产成人你懂的在线观看| 91视频99| av色爱 天堂网| 久久久久人妻一区精品| 亚洲精品老司机| 国产精品久久久久婷婷五月| 国产人成午夜免费看| 亚洲成人在线网| www.youjizz.com久久| 亚洲第一香蕉视频| 国内精自视频品线一二区| 亚洲日韩高清无码| 亚洲中文字幕久久无码精品A| 黑人巨大精品欧美一区二区区| 无码高潮喷水在线观看| 五月天婷婷网亚洲综合在线| 国产地址二永久伊甸园| 成人国产三级在线播放| 中国成人在线视频| 精品国产自| 青青操视频免费观看| 国产成人精品在线1区| 国内精品久久久久鸭| 精品成人一区二区三区电影 | 亚洲欧美极品| 色婷婷亚洲十月十月色天| 日韩欧美国产成人| 色偷偷一区| 伊人成人在线视频| 在线免费亚洲无码视频| 国产精品成人免费视频99| 色综合天天操| 3p叠罗汉国产精品久久| 欧美在线伊人| 欧美日韩国产在线播放| 亚洲欧洲AV一区二区三区| 蜜臀av性久久久久蜜臀aⅴ麻豆| 国产福利不卡视频| 午夜无码一区二区三区| 国产精品任我爽爆在线播放6080| 亚洲欧美一区二区三区麻豆| 亚洲精品制服丝袜二区| www中文字幕在线观看| 国产男人的天堂| 四虎永久免费地址| 奇米影视狠狠精品7777| 色综合久久88| 在线观看免费人成视频色快速| 精品三级在线| 免费观看男人免费桶女人视频| 成人福利在线免费观看| 国产菊爆视频在线观看|