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