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
聰明的學生等
主站蜘蛛池模板: 亚洲综合久久一本伊一区| 高h视频在线| 久久国产精品麻豆系列| 亚洲三级影院| 色一情一乱一伦一区二区三区小说 | 自慰高潮喷白浆在线观看| 亚洲女同欧美在线| 40岁成熟女人牲交片免费| 亚洲一本大道在线| 欧美成人怡春院在线激情| 在线观看av永久| 国产偷国产偷在线高清| 亚洲欧美激情另类| 亚洲第一黄片大全| 亚洲aaa视频| 九九九久久国产精品| 蜜桃臀无码内射一区二区三区| 午夜日b视频| 99这里只有精品免费视频| 亚洲日韩精品欧美中文字幕 | 亚洲高清无码精品| 在线播放国产一区| 综合五月天网| 国产91在线免费视频| 亚洲视频三级| 日韩精品少妇无码受不了| 国产91精选在线观看| 亚洲精品国产自在现线最新| 日本亚洲欧美在线| 欧美精品成人一区二区视频一| 91麻豆精品国产91久久久久| 国产亚洲男人的天堂在线观看 | 91视频区| 97国产在线视频| 国产精品免费入口视频| 免费无码AV片在线观看国产| 国产对白刺激真实精品91| 国产91丝袜在线播放动漫 | 国产精品深爱在线| 无码AV高清毛片中国一级毛片| 青青青国产在线播放| 久久亚洲综合伊人| 老熟妇喷水一区二区三区| 在线va视频| 波多野结衣无码中文字幕在线观看一区二区 | 一本一道波多野结衣av黑人在线| 中文字幕欧美日韩高清| 一级毛片在线免费看| 欧美精品亚洲精品日韩专区| 精品人妻无码中字系列| 国产欧美亚洲精品第3页在线| 亚洲国产成人久久精品软件| 就去色综合| 天天摸夜夜操| 国产精品嫩草影院视频| 成人噜噜噜视频在线观看| 久久人人妻人人爽人人卡片av| 国产综合精品日本亚洲777| 日韩不卡高清视频| 国产拍揄自揄精品视频网站| 国产系列在线| 免费国产好深啊好涨好硬视频| 99久久精品免费看国产电影| 久久久久国色AV免费观看性色| 亚洲成在人线av品善网好看| 欧美人与性动交a欧美精品| 五月婷婷精品| 免费福利视频网站| 国产无遮挡裸体免费视频| 久久人搡人人玩人妻精品| 无码专区在线观看| 日本在线免费网站| 国产乱人乱偷精品视频a人人澡| 亚洲一区二区三区在线视频| 国产午夜小视频| 亚洲精品男人天堂| 国产在线精彩视频论坛| 日韩亚洲综合在线| 国产精品女人呻吟在线观看| 日韩黄色精品| 青青青草国产| 欧美日韩动态图|