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

基于C#的Excel數(shù)據(jù)導(dǎo)入導(dǎo)出SQL Server的研究與實(shí)現(xiàn)

2012-04-29 00:00:00劉小豫趙薔

摘要:在排球成績(jī)測(cè)評(píng)系統(tǒng)實(shí)際應(yīng)用中,導(dǎo)入學(xué)生信息和導(dǎo)出學(xué)生成績(jī)是提高數(shù)據(jù)錄入速度和快速輸出的有效途徑。本文詳細(xì)介紹了使用C#語(yǔ)言、采用SqlBulkCopy類將Excel數(shù)據(jù)表導(dǎo)入到SQL Server數(shù)據(jù)庫(kù),以及將數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)出到Excel數(shù)據(jù)表中的方法。

關(guān)鍵詞:C# Excel SQL Server 導(dǎo)入導(dǎo)出

1 概述

Excel是辦公中常用的電子表格處理工具,SQL Server是目前流行的數(shù)據(jù)庫(kù)管理系統(tǒng),均在信息系統(tǒng)中被廣泛使用[1,2]。基于安全性、通用性和共享性等考慮,信息系統(tǒng)一般都會(huì)給用戶提供借助Excel進(jìn)行數(shù)據(jù)導(dǎo)入導(dǎo)出數(shù)據(jù)庫(kù)的功能[3,4]。排球成績(jī)測(cè)評(píng)系統(tǒng)中的學(xué)生信息可以逐個(gè)添加,也可以按班級(jí)從Excel中整體導(dǎo)入;系統(tǒng)中的班級(jí)成績(jī)信息、不及格成績(jī)信息需要導(dǎo)出到Excel中。本文介紹在.Net環(huán)境下,使用C#編程實(shí)現(xiàn)排球成績(jī)測(cè)評(píng)系統(tǒng)中Excel數(shù)據(jù)與SQL Server 2005數(shù)據(jù)庫(kù)中數(shù)據(jù)的導(dǎo)入導(dǎo)出。

2 導(dǎo)入數(shù)據(jù)

2.1 SqlBulkCopy類 導(dǎo)入數(shù)據(jù)需要使用SqlBulkCopy類。SqlBulkCopy類提供了一種將其它源的數(shù)據(jù)批量復(fù)制到Sql Server數(shù)據(jù)庫(kù)表中高性能的方法。SqlBulkCopy 包含可以重載的方法WriteToServer,它用來(lái)從其它數(shù)據(jù)的源復(fù)制數(shù)據(jù)到數(shù)據(jù)的目的地。WriteToServer方法可以處理的數(shù)據(jù)類型有DataRow[]數(shù)組、DataTable和DataReader,可以根據(jù)具體情況使用相應(yīng)的數(shù)據(jù)類型。SqlBulkCopy復(fù)制數(shù)據(jù)的原理是采用SQL Server提供的bcp命令提示符實(shí)用工具進(jìn)行數(shù)據(jù)的批量復(fù)制。bcp在SQL Server實(shí)例和數(shù)據(jù)文件之間以用戶指定的格式復(fù)制數(shù)據(jù)[5,6]。

2.2 實(shí)現(xiàn)學(xué)生信息按班級(jí)批量導(dǎo)入 學(xué)生信息添加窗口如圖1(a)所示。需要先選定班級(jí),再為該班級(jí)批量導(dǎo)入學(xué)生。

2.2.1 導(dǎo)入按鈕Click函數(shù) 在學(xué)生信息添加對(duì)話框中單擊導(dǎo)入按鈕,則調(diào)用btn_Import_Click()函數(shù)。該函數(shù)首先判定班級(jí)編號(hào)是否為空,為空則彈出對(duì)話框提示班級(jí)相關(guān)信息不能為空,否則給定鏈接字符串,調(diào)用“打開文件”對(duì)話框,并獲取導(dǎo)入的Excel文件名,確定后調(diào)用導(dǎo)入函數(shù)TransferData()。導(dǎo)入學(xué)生信息后調(diào)用班級(jí)人數(shù)信息函數(shù)classNumberInfo()更新班級(jí)人數(shù)。主要實(shí)現(xiàn)代碼如下:

2.2.2 導(dǎo)入函數(shù)TransferData() 導(dǎo)入函數(shù)有三個(gè)參數(shù),分別是導(dǎo)入的Excel文件名、導(dǎo)入的Excel工作表名和鏈接字符串。導(dǎo)入函數(shù)實(shí)現(xiàn)步驟如下:

首先獲取全部數(shù)據(jù)。導(dǎo)入函數(shù)從Excel工作表中獲取全部數(shù)據(jù),并放入DataSet中。主要實(shí)現(xiàn)代碼如下:

接著檢查數(shù)據(jù)格式。導(dǎo)入函數(shù)使用ds.Tables[0].Columns.Count對(duì)放入DataSet中的數(shù)據(jù)進(jìn)行列數(shù)等信息的檢查。當(dāng)數(shù)據(jù)格式不符合要求就彈出對(duì)話框進(jìn)行提示。

最后導(dǎo)入數(shù)據(jù)。當(dāng)數(shù)據(jù)格式正確,導(dǎo)入函數(shù)進(jìn)行列的添加和數(shù)據(jù)的復(fù)制。數(shù)據(jù)表t_student有四個(gè)字段,分別為學(xué)號(hào)、姓名、性別和班級(jí)編號(hào)。而需要導(dǎo)入的Excel工作表Sheet1只有學(xué)號(hào)、姓名和性別三個(gè)字段。為了字段對(duì)應(yīng),為DataSet中的Tables[0]添加一列,該列存放導(dǎo)入學(xué)生所在班級(jí)的編號(hào)信息。接著使用SqlBulkCopy類的構(gòu)造函數(shù)SqlBulkCopy(connectionString)創(chuàng)建一個(gè)新的對(duì)象bcp。然后用bcp的WriteToServer()函數(shù),把DataSet中Tables[0]中的數(shù)據(jù)一次復(fù)制到已經(jīng)存在的目標(biāo)表t_student中,實(shí)現(xiàn)數(shù)據(jù)的導(dǎo)入。學(xué)生信息導(dǎo)入后如圖2(b)所示。用bcp導(dǎo)入數(shù)據(jù)代碼如下:

3 導(dǎo)出數(shù)據(jù)

把班級(jí)成績(jī)信息從SQL Server數(shù)據(jù)庫(kù)中查詢出來(lái)并顯示在DataGridview中,如圖3所示。班級(jí)成績(jī)導(dǎo)出可以通過(guò)單擊圖2上的“導(dǎo)出成績(jī)”按鈕完成,導(dǎo)出結(jié)果如圖3所示。

單擊“導(dǎo)出成績(jī)”按鈕調(diào)用button_cjdc_Click()函數(shù),該函數(shù)調(diào)用導(dǎo)出函數(shù)ExportDataGridview()。導(dǎo)出函數(shù)先對(duì)DataGridview的行數(shù)進(jìn)行判斷,若行數(shù)為零則退出,否則導(dǎo)出DataGridview中的數(shù)據(jù)到Excel工作表Sheet1中。導(dǎo)出數(shù)據(jù)先建立Excel對(duì)象,然后根據(jù)DataGridview中的列生成Excel表中的字段,最后逐行把DataGridview中的數(shù)據(jù)填充到Excel工作表中去,實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出。

4 結(jié)束語(yǔ)

批量的導(dǎo)入導(dǎo)出數(shù)據(jù)能夠提高用戶的工作效率。本文論述了在排球成績(jī)測(cè)評(píng)系統(tǒng)中,導(dǎo)入Excel工作表中的學(xué)生信息到SQL Server數(shù)據(jù)庫(kù)表中,以及導(dǎo)出成績(jī)信息到Excel工作表中。該方法具有較強(qiáng)的通用性,有一定的實(shí)際應(yīng)用價(jià)值。

參考文獻(xiàn):

[1]魏文勝.Excel與SQLServer數(shù)據(jù)的相互轉(zhuǎn)換之方法[J].電腦知識(shí)與技術(shù),2007(10):892.

[2]張麗英.基于.NET的Excel數(shù)據(jù)批量導(dǎo)入SQL Server的設(shè)計(jì)與實(shí)現(xiàn)[J].南通紡織職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012,12(1):7-10.

[3]尹幫治.基于VC#的Excel表格與SQL Server數(shù)據(jù)庫(kù)的批量數(shù)據(jù)導(dǎo)入導(dǎo)出技術(shù)研究[J].企業(yè)技術(shù)開發(fā),2008,27(8):13-16.

[4]游向峰.基于ASP.NET的SQL與EXCEL數(shù)據(jù)互導(dǎo)的研究與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2010(11):8953.

[5]唐紅亮.SQL Server數(shù)據(jù)庫(kù)設(shè)計(jì)與系統(tǒng)開發(fā)教程[M].北京:清華大學(xué)出版社,2007.

[6]楊湖,李風(fēng)蕾等.SQL Server 2005數(shù)據(jù)庫(kù)系統(tǒng)開發(fā)案例精選[M].北京:人民郵電出版社,2007.

基金項(xiàng)目:陜西省教育科學(xué)“十一五”規(guī)劃課題:SGH10066;咸陽(yáng)師范學(xué)院項(xiàng)目:200812013,11XSYK210;陜西省教育廳項(xiàng)目:09JK811。

作者簡(jiǎn)介:

劉小豫(1978-),女,陜西咸陽(yáng)人,講師,碩士,研究方向:圖像處理和信息系統(tǒng)開發(fā)。趙薔(1971-),女,陜西咸陽(yáng)人,副教授,碩士。研究方向:軟件工程和圖形圖像處理。

主站蜘蛛池模板: 欧美精品在线看| 蝴蝶伊人久久中文娱乐网| 国产精女同一区二区三区久| 国产人成在线视频| 97se亚洲综合在线| 婷婷丁香在线观看| 日韩福利视频导航| 国产中文一区a级毛片视频| av午夜福利一片免费看| 日韩色图区| 国产精品嫩草影院视频| 九九热视频精品在线| 一本色道久久88| 国产无码精品在线播放| 色妞永久免费视频| 试看120秒男女啪啪免费| 91小视频在线观看| 国产毛片高清一级国语| 成人日韩欧美| 蜜芽国产尤物av尤物在线看| 一本大道香蕉久中文在线播放| 午夜老司机永久免费看片| 亚洲成网777777国产精品| 日韩精品无码一级毛片免费| a毛片免费观看| 国产91透明丝袜美腿在线| 免费在线看黄网址| 久热中文字幕在线| 久久久久亚洲av成人网人人软件| 日本色综合网| 日本精品视频一区二区| 午夜国产理论| 婷婷色丁香综合激情| 国产麻豆精品在线观看| 国产区91| 99久视频| 国产成人高清精品免费5388| v天堂中文在线| 成人伊人色一区二区三区| 久久99精品国产麻豆宅宅| 99re精彩视频| 韩国福利一区| 女人一级毛片| 色婷婷国产精品视频| 中文天堂在线视频| 影音先锋丝袜制服| 欧美日韩免费观看| 日本久久网站| 91精品国产自产在线老师啪l| 精品国产免费观看| 国外欧美一区另类中文字幕| 亚洲欧美人成人让影院| 伊人无码视屏| 亚洲黄色视频在线观看一区| 国产女人18水真多毛片18精品| 91丨九色丨首页在线播放| 国产自产视频一区二区三区| 亚洲水蜜桃久久综合网站| 视频一区亚洲| 99久久国产精品无码| 欧美第二区| 午夜国产精品视频黄| 国产在线无码av完整版在线观看| 欧美精品二区| 2019国产在线| 久久特级毛片| 无码专区国产精品第一页| 国产成人三级| 国产亚洲一区二区三区在线| 国产成人高清精品免费5388| 国模沟沟一区二区三区| 亚洲综合久久成人AV| 色悠久久综合| 久久黄色免费电影| 国产美女在线观看| 四虎影视8848永久精品| 伊人久热这里只有精品视频99| 久久先锋资源| 久久婷婷色综合老司机| 国产精品极品美女自在线网站| 成人午夜福利视频| 亚洲中文字幕av无码区|