劉倉軍
摘要:該系統(tǒng)以Visual Basic.net作為前端開發(fā)語言,以Visual Studio 2008為開發(fā)平臺,以SQL Server2005為數(shù)據(jù)庫,設(shè)計開發(fā)了資產(chǎn)管理信息系統(tǒng),實現(xiàn)了利用信息化綜合平臺在線管理資產(chǎn),改變了傳統(tǒng)管理中收集錄入的落后局面,減少了紙張的浪費,極大地提高了資產(chǎn)管理的效率。
關(guān)鍵詞:Visual Basic.net;Visual Studio 2008;SQL Server2005;資產(chǎn);在線管理
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)22-0067-03
Abstract: The system to visual basic.net as the front-end development language, based on Visual Studio 2008 development platform, SQL Server2005 database, design and development of the assets management information system, realize the utilization of information integrated platform for online asset management, changed the traditional management to collect and input the backward situation, reduce the waste of paper and greatly improve the efficiency of asset management.
Key words: Visual Basic.net; Visual Studio 2008; SQL Server2005; assets;Online management
1 概述
近年來,各院校均在擴大招生規(guī)模,所使用的教學裝備、設(shè)備等資產(chǎn)也在逐年增加,傳統(tǒng)的依靠手工操作管理資產(chǎn)的方式費時、費力,工作效率不高,已不能適應(yīng)院校的信息化管理的需求。為了更有效地提高資產(chǎn)管理的工作效率,方便資產(chǎn)的實時添加、修改、刪除、查詢、統(tǒng)計及打印等功能的實現(xiàn),特設(shè)計開發(fā)了基于VB.net的資產(chǎn)管理信息系統(tǒng),實現(xiàn)了資產(chǎn)管理實時在線核算、快速獲得信息、管理科學規(guī)范的目標。
2系統(tǒng)總體框架設(shè)計
該系統(tǒng)是用戶在線實現(xiàn)資產(chǎn)登記、查詢等和管理員在線實現(xiàn)資產(chǎn)管理的系統(tǒng),根據(jù)資產(chǎn)管理所要實現(xiàn)的功能,在系統(tǒng)設(shè)計階段結(jié)合調(diào)研結(jié)果,科學地設(shè)計了資產(chǎn)管理信息系統(tǒng)的各功能模塊。該系統(tǒng)主要由綜合平臺、資產(chǎn)登記、資產(chǎn)處置、資產(chǎn)查詢、資產(chǎn)報表、產(chǎn)權(quán)管理等六個模塊組成,每個模塊又包含若干個子模塊,如資產(chǎn)增加模塊下就包含固定資產(chǎn)增加、庫存物資增加、土地資產(chǎn)增加和無形資產(chǎn)增加共4個子模塊,系統(tǒng)功能結(jié)構(gòu)圖如圖1所示。
3 數(shù)據(jù)庫設(shè)計及連接
3.1數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,是系統(tǒng)數(shù)據(jù)的集合。本系統(tǒng)所使用的SQL Server是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng),是一個可擴展的、高性能的數(shù)據(jù)庫管理系統(tǒng),通過對資產(chǎn)管理系統(tǒng)的實際功能需求的分析,本系統(tǒng)在進行數(shù)據(jù)庫設(shè)計時,為了方便數(shù)據(jù)的維護,應(yīng)該包括多張表,如單位信息表、用戶信息表、資產(chǎn)增加表、資產(chǎn)減少表、資產(chǎn)處置表、產(chǎn)權(quán)登記表等,由于涉及的表較多,這里以資產(chǎn)增加中的庫存物資增加表這個典型的數(shù)據(jù)表設(shè)計來進行說明,其表結(jié)構(gòu)如表1所示。
3.2數(shù)據(jù)庫連接
VB.net對SQL Server數(shù)據(jù)庫進行操作使用的是ADO.NET技術(shù),對于檢索結(jié)果,可以將其放在DataSet對象中或者直接進行處理,使得來自多個數(shù)據(jù)源或不同層間進行遠程處理的數(shù)據(jù)組合在一起,向用戶公開。連接SQL Server數(shù)據(jù)庫,首先需要啟動可連接的一個SQL Server的數(shù)據(jù)庫服務(wù),以及一個可用的數(shù)據(jù)庫。還要用到System.Data.SqlClient命名空間下的SqlConnection類。
定義一個SqlConnection對象,可以使用如下語句:
Dim sqlcon as new system.data.sqlclient.sqlConnection("myconnectionstring")
而myconnectionstring則可如下定義:
Data Source=localhost;Initial Catalog=xt;Persist Security Info=True;User ID=sa;Password=sa111" providerName="System.Data.SqlClient”
其中l(wèi)ocalhost為數(shù)據(jù)庫所在電腦的IP地址,xt為要連接數(shù)據(jù)庫的名稱,sa為連接數(shù)據(jù)庫的登錄名,sa111為連接密碼。
打開和關(guān)閉數(shù)據(jù)庫連接分別采用如下語句實現(xiàn):
sqlcon.Open()
sqlcon.Close()
4功能模塊設(shè)計
在進行具體的程序開發(fā)時,我們要對每個子功能模塊進行設(shè)計。由于本系統(tǒng)所涉及的子功能模塊較多,這里以庫存物資增加功能模塊的設(shè)計為例來介紹一下功能模塊設(shè)計的方法。
4.1設(shè)計模塊界面
設(shè)計模塊界面,就是要根據(jù)前面的系統(tǒng)功能設(shè)計的要求進行頁面的設(shè)計,主要操作步驟如下:
1)在解決方案資源管理器中添加一個Web窗體,并進行重命名;
2)打開Web窗體,根據(jù)需要的行數(shù)和列數(shù)插入表格;
3)添加相應(yīng)的控件,設(shè)置好數(shù)據(jù)表字段的位置和屬性;
4)給相應(yīng)的控件事件編寫代碼,實現(xiàn)不同的功能。
按照以上步驟,我們設(shè)計的庫存物資增加模塊頁面如圖2所示。前面的3步都比較容易實現(xiàn),主要難點在控件事件代碼的編寫,下面以Page_Init過程為例來分析一下代碼功能。
4.2編寫程序代碼
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
‘說明:以下代碼用于實現(xiàn)對用戶選擇的年度進行分析,如果不是2016,則進入初始化庫存物資增加憑證界面,如果是2016,則進入2016年度庫存物資增加憑證界面。
Dim y As String
y = Request.QueryString("niandu").ToString
Dim Year As Integer
If (y <> "") Then
Year = Convert.ToInt32(y)
Else
Year = Convert.ToInt32(page.Session("year").ToString())
End If
Page.Session("year") = Year.ToString()
If Page.Session("year") <> "2016" Then
Label10.Text = "" + Page.Session("year") + "年度庫存物資增加憑證"
Else
Label10.Text = "" + "初始化庫存物資增加憑證"
End If
‘說明:以下代碼用于實現(xiàn)對庫存物資增加記錄的顯示,如果有記錄則顯示第1條記錄,如果沒有記錄則將所有輸入框清空,以方便用戶錄入。
Dim sqlcon As New SqlConnection
sqlcon.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings("cwconnectionstring").ToString()
Dim sqlcmd As New SqlCommand
sqlcmd.Connection = sqlcon
Dim sql1 As String = "select count(*) from kcwz where isadd='" + isadd.Text + "' and year=" & y & ""
sqlcmd.CommandText = sql1
sqlcon.Open()
max = sqlcmd.ExecuteScalar
If max > 0 Then
Dim sql As String = "select top 1 * from kcwz where isadd='" + isadd.Text + "' and year=" & y & ""
sqlcmd.CommandText = sql
Dim sqlreader As SqlDataReader
sqlreader = sqlcmd.ExecuteReader(CommandBehavior.CloseConnection)
sqlreader.Read()
Dim aa As New basic
Ttzdw.Text = aa.GetBmName(sqlreader("tzdw")):txtpzid.Text = Convert.ToString(sqlreader("pzid"))
txtKmCode.Text = sqlreader("zckm"):txtKmName.Text = sqlreader("zcname")
txtzcid.Text = sqlreader("zcid"): tzcgg.Text = sqlreader("zcgg")
tzysm.Text = sqlreader("zysm"): dhqfs.Text = sqlreader("hqfs")
Tlbkm.Text = sqlreader("lbkm"):Tdate.Text = sqlreader("date")
Tbgr.Text = sqlreader("bgr"): Tyxqx.Text = sqlreader("yxqx")
Dcwbm.Text = sqlreader("cwbm"):Tdanjia.Text = sqlreader("danjia")
Tcount.Text = sqlreader("count"):Tjine.Text = sqlreader("jine")
Label2.Text = sqlreader("state"):txtKmPath.Text = Convert.ToString(sqlreader("kmfn"))
lblId.Text = Convert.ToString(sqlreader("id"))
Tglbm.Text = bb.GetBmName(sqlreader("glbm"))
lblxlbz.Text = bb.getYsXl(sqlreader("zckm").ToString(), sqlreader("tzdw")).ToString()
Tjingshouren.Text = Convert.ToString(sqlreader("jingshouren"))
Djldw.Text = Convert.ToString(sqlreader("jldw"))
sqlreader.Close()
sqlcon.Close()
Else
txtKmCode.Text = "" : txtKmName.Text = "" : txtzcid.Text = "" : tzcgg.Text = "" : Tglbm.Text = ""
tzysm.Text = "" : Tlbkm.Text = "" : Tdate.Text = "" : lblyue.Text = "" : lblljje.Text = "": Tbgr.Text = "" Tyxqx.Text = "" : Tdanjia.Text = "" : Tcount.Text = "" : Tjine.Text = "" : txtKmPath.Text = ""
lblqcsl.Text = "" : lblljsl.Text = "": dhqfs.Text = "" : Dcwbm.Text = "" : Tjingshouren.Text = ""
End If
End Sub
對于其它控件的功能實現(xiàn),我們也可以分別進行代碼的編寫,在此需要注意的是,為了提高代碼的利用率,簡捷代碼編寫,我們可以將需要反復(fù)使用的代碼段單獨放在一個過程中,然后通過代碼的調(diào)用實現(xiàn)相同的功能。由于篇幅所限,這里就不一一列舉。
5結(jié)論
通過以上的分析和設(shè)計, 我們完成了一個基于VB.net的資產(chǎn)管理信息系統(tǒng)的設(shè)計。該系統(tǒng)較好地解決了資產(chǎn)管理過程中存在的問題,有效地提高了工作效率,減少了管理部門和用戶部門的工作量,為資產(chǎn)的實時在線管理提供了有效的手段。
參考文獻:
[1] 張智毅. Visual Basic.NET+SQL Server數(shù)據(jù)庫開發(fā)從基礎(chǔ)到實踐[M].北京:電子工業(yè)出版社,2006.
[2] 明日科技.SQL Server從入門到精通[M].北京:清華大學出版社,2012.