鄭 炎,蔡小艷,孟憲宇,曾垂振
(武漢軍械士官學(xué)校,武漢 430075)
基于C#的SQL Server數(shù)據(jù)上報(bào)與接收的設(shè)計(jì)與實(shí)現(xiàn)
鄭 炎,蔡小艷,孟憲宇,曾垂振
(武漢軍械士官學(xué)校,武漢 430075)
為了提高各類信息管理系統(tǒng)中用戶數(shù)據(jù)流轉(zhuǎn)的便捷性和靈活性,本文介紹了在Visual Studio 2010中使用C#語言將SQL Server數(shù)據(jù)庫中數(shù)據(jù)實(shí)現(xiàn)上報(bào)與接收。經(jīng)測試應(yīng)用證明該方法有較強(qiáng)的實(shí)用性和通用性。
C#;數(shù)據(jù)庫;上報(bào);接收
當(dāng)前在各類信息管理系統(tǒng)中,使用較多的存儲(chǔ)與管理數(shù)據(jù)的平臺(tái)是SQL Server數(shù)據(jù)庫,系統(tǒng)中的各項(xiàng)操作都是以數(shù)據(jù)庫為中心的,系統(tǒng)中各級(jí)用戶間數(shù)據(jù)的流轉(zhuǎn)是保障系統(tǒng)正常應(yīng)用功能和數(shù)據(jù)安全的重要工作。為了確保信息管理系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)流轉(zhuǎn)功能、數(shù)據(jù)安全可靠,系統(tǒng)通常都需要提供了數(shù)據(jù)上報(bào)和接收功能?;诖?,本文闡述了使用C#語言在Visual Studio 2010環(huán)境下實(shí)現(xiàn)系統(tǒng)中SQL Server數(shù)據(jù)庫中數(shù)據(jù)的上報(bào)與接收。
在信息管理系統(tǒng)中通常存在不同權(quán)限、多級(jí)別的用戶,各級(jí)用戶間需要進(jìn)行數(shù)據(jù)交流,這種數(shù)據(jù)流轉(zhuǎn)需要專門的數(shù)據(jù)上報(bào)和接收功能實(shí)現(xiàn)。
1.1 數(shù)據(jù)上報(bào)設(shè)計(jì)思路
數(shù)據(jù)上報(bào)功能主要用于下一級(jí)用戶向上級(jí)用戶上報(bào)系統(tǒng)對應(yīng)數(shù)據(jù)。將SQL Server數(shù)據(jù)庫中表和數(shù)據(jù)生成上報(bào)數(shù)據(jù)包的實(shí)現(xiàn)思路如下:
(1)點(diǎn)擊打開數(shù)據(jù)上報(bào)界面;(2)填寫上報(bào)數(shù)據(jù)文件名稱,選擇上報(bào)數(shù)據(jù)文件的存放路徑;(3)創(chuàng)建SQL語句,選定數(shù)據(jù)后插入至數(shù)據(jù)文件;(4)執(zhí)行該SQL語句,完成上報(bào)數(shù)據(jù)文件生成。
1.2 數(shù)據(jù)接收設(shè)計(jì)思路
數(shù)據(jù)接收功能主要用于上級(jí)用戶接收下一級(jí)用戶上報(bào)的系統(tǒng)對應(yīng)數(shù)據(jù)。將上報(bào)數(shù)據(jù)文件包接收至SQL Server數(shù)據(jù)庫中的實(shí)現(xiàn)思路如下:
(1)打開數(shù)據(jù)接收界面;(2)瀏覽文件路徑,選擇要接收的上報(bào)數(shù)據(jù)文件包;(3)創(chuàng)建一個(gè)臨時(shí)表,將臨時(shí)表中數(shù)據(jù)清空;(4)創(chuàng)建SQL語句,將上報(bào)數(shù)據(jù)文件包中的數(shù)據(jù)插入臨時(shí)表;(5)檢查與現(xiàn)有數(shù)據(jù)是否有重復(fù)或錯(cuò)誤,如果無重復(fù)和錯(cuò)誤,就將臨時(shí)表中數(shù)據(jù)插入待導(dǎo)入的系統(tǒng)庫中。
2.1 數(shù)據(jù)上報(bào)
數(shù)據(jù)上報(bào)主要用來對數(shù)據(jù)庫中的表和數(shù)據(jù)生成備份,進(jìn)行上報(bào)。該操作完成后生成專門格式的數(shù)據(jù)包文件,后綴名默認(rèn)為*.kmc。該功能主要通過frmReport類實(shí)現(xiàn),具體流程如下:
(1)通過點(diǎn)擊“上報(bào)”按鈕,初始化frmReport類,調(diào)起數(shù)據(jù)上報(bào)界面;(2)通過點(diǎn)擊數(shù)據(jù)上報(bào)界面的“瀏覽”按鈕,選擇待生成上報(bào)數(shù)據(jù)包文件的存放路徑;(3)通過SQL Server方法建立SERVER對象;(4)創(chuàng)建一條包含上報(bào)文件名的SQL語句和空的臨時(shí)表,將要上報(bào)的表中數(shù)據(jù)全部查詢出來插入到臨時(shí)表中,再存入上報(bào)數(shù)據(jù)文件中;(5)執(zhí)行SQL語句命令,生成上報(bào)數(shù)據(jù)文件。
2.2 數(shù)據(jù)接收
數(shù)據(jù)接收主要用來對數(shù)據(jù)庫中的表和數(shù)據(jù)的備份上報(bào)包進(jìn)行接收。該功能主要通過frmReceive類實(shí)現(xiàn),具體流程如下(如圖1所示):
(1)通過點(diǎn)擊“接收”按鈕,初始化frmReceive類,調(diào)起數(shù)據(jù)接收界面;(2)通過點(diǎn)擊數(shù)據(jù)接收界面的“打開”按鈕,選擇要接收的專門格式上報(bào)數(shù)據(jù)包文件(*.mkc);(3)創(chuàng)建SQL語句查詢出所有正連接待接收數(shù)據(jù)庫的進(jìn)程;(4)調(diào)用KILL命令強(qiáng)行關(guān)閉所有正連接待接收數(shù)據(jù)庫的進(jìn)程;(5)建立SERVER對象,創(chuàng)建用于接收的SQL語句;(6)通過SQL Restore方法運(yùn)行接收命令,創(chuàng)建臨時(shí)表并將上報(bào)數(shù)據(jù)文件包中的數(shù)據(jù)插入臨時(shí)表;(7)檢查臨時(shí)表中的數(shù)據(jù)和要導(dǎo)入系統(tǒng)中數(shù)據(jù)是否有重復(fù),避免接收上報(bào)數(shù)據(jù)時(shí)接錯(cuò)數(shù)據(jù),如果沒有重復(fù)和錯(cuò)誤,完成接收。
在存儲(chǔ)有大量數(shù)據(jù)的軟件系統(tǒng)中,為了規(guī)避因軟硬件故障引起的數(shù)據(jù)丟失和損壞,導(dǎo)致不應(yīng)該的人力和財(cái)力損失,將數(shù)據(jù)庫中數(shù)據(jù)生成上報(bào)包流轉(zhuǎn)給其他用戶留存尤為重要。本文提出的數(shù)據(jù)上報(bào)與接收實(shí)現(xiàn)方法,通過應(yīng)用程序?qū)?shù)據(jù)庫的操作進(jìn)行封裝,把數(shù)據(jù)庫上報(bào)與接收功能集成到系統(tǒng)中,加強(qiáng)了系統(tǒng)數(shù)據(jù)的安全穩(wěn)定性,同時(shí)也極大的方便了軟件用戶,提高了工作效率和工作質(zhì)量。
[1]張予民,萬洪彬.淺談SQL Server數(shù)據(jù)庫應(yīng)用技巧[J].科技廣場,2009(05):64-66
[2]陳一明.SQL Server數(shù)據(jù)庫應(yīng)用技巧探討[J].科學(xué)技術(shù)與工程, 2008(12):3334-3337
[3]李春娟,孫祥春.SQL Server數(shù)據(jù)庫備份和還原的方法[J].電腦知識(shí)與技術(shù):學(xué)術(shù)交流,2005(23):10-11
10.16640/j.cnki.37-1222/t.2016.22.113
鄭炎(1985-),男,湖北大悟人,碩士,助理講師,研究方向:計(jì)算機(jī)軟件與應(yīng)用。