NET進階開發一:用VB.net+ADO.NET+SQL Server開發三層架構的運用程式
一:什麼是三層體系結構:
三層體系結構,顧名思義,我們将運用程式從整體上分為三個獨立而又彼此相關聯的層次,這三層分别是:使用者層、業務邏輯層、資料層
。使用者層就是運用程式與使用者的操作接口,比如說:網頁。在使用者層,常用到的技術如:HTML、CSS、JavaScript、ASP/asp.net等.業務邏輯層
就是将一些業務處理的邏輯與規則經過封裝,它提供一些接口與使用者層與資料層進行互動。在邏輯層,當今比較流行的技術和規範,如:
Microsoft的COM/DCOM/COM+/NET元件,SUN 的 EJB等。資料層主要是提供業務邏輯層的資料接口和背景的資料管理,比較典型的資料庫管理系
統有:SQL Sercer 2000/2005 、Orcale 8i/9i,DB2等。三層體系結構的好處是将運用程式分成互相獨立的幾個層次,當某層需要改變的時候,
不會對其他層次有大的影響,便于進行運用程式的維護。同時,層與層之間結構清晰,易于我們進行開發與部署。
二:用NET開發三層體系結構的思路:
NET平台的易操作、強大的功能,利于我們在短時間裡開發較大規模、較複雜的運用程式。下面,我們用一個簡單的例子(讀取資料庫中的資料
)來看看怎樣開發一個标準的基于三層體系結構的運用程式。
步驟一:我們在背景采用SQL SERVER作為背景資料庫管理系統。是以我們先打開SQL SERVER企業管理器,建立我們自己的資料庫,我們隻是簡
單的取名字為stu,同時,需要建立一張表(student),表有三個字段,分别是ID(學号),Name(姓名),Class(班級)。同時,我們先填入一些
資料到student表中,友善我們在程式設計完成後進測試。
同時,我們需要在查詢分析器裡面,建立一個存儲過程,請先不用管為什麼要利用存儲過程,隻是邏輯層在和資料庫進行互動時需要用到。(
有興趣的可以檢視一下使用存儲過程的好處,在這裡我們不多做介紹)
存儲過程如下:
CREATE proc p_select
as
select * from student
GO
步驟二:我們先啟動VSNET運用程式,選擇建立項目,選擇類庫,建立一個名為MyLib的類庫,建立類庫的目的是對業務層的邏輯進行封裝。在類
庫中,預設的命名空間是MyLib,在這裡提示命名空間是因為我們在後面使用者層在執行個體化類時要用到。然後,我們在解決方案中會看到有一個默
認的叫做Class.vb的類。在代碼編輯區,我們将Class改成MyClass.(其實也可以不改,修改隻是友善我們在引用的時候,友善我們識别)。然後
我們再編寫類的代碼,在類中,我們需要定義一些變量和方法及屬性、事件等。在此類中,我們隻是定義了一個如下:
提示:先要導入命名空間:imports system.data.sqlclient
類的代碼:
Public Class mydata
Public conn As New SqlConnection("data source=(local);user id=sa;password='';database=xiaoxiao")
Function mydataset() As DataSet
Dim command As New SqlCommand()
Try
Dim myada As New SqlDataAdapter()
Dim myds As New DataSet()
conn.Open()
command.Connection = conn
command.CommandType = CommandType.StoredProcedure
command.CommandText = "p_select" '加載是顯示資料的存儲過程
myada.SelectCommand = command
myada.Fill(myds, "1")
Return myds
conn.Close()
Catch
MsgBox("失敗")
End Try
End Function
End Class
然後,我們需要将剛建立的類編譯生成DLL的檔案,以便我們能引用使用他。點選MyLib右鍵--》生成,即可。
步驟三:點選檔案—》建立-》項目--》windows項目,我們建立一個windows的運用程式,名為MyForm1在界面上布置一個button與datagrid的
控件。
為了能用到我們剛才建立的類,我們需要添加引用,将MyLib引用到我們的MyForm1中.然後,我們在button下編寫代碼:
先導入命名空間:Imports MyLib
在Button下的代碼:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myds As New myclass()
DataGrid1.DataSource = myds.mydataset
End Sub
然後,啟動程式,就能顯示資料庫stu中student表的資料。
三:實驗:
請讀者按照上面的提示,自己上機操作練習,會對程式的開發了解更加深刻。
四:結論
我們先通過一個顯示資料庫資訊的例子來建構了一個标準的三層架構的程式。主要的意圖是想做為想在NET平台上進行進階開發的讀者學習的一個參考。當然,這個例子的實際作用可能并不大,隻是讓我們認識到怎樣去開發三層結構系統的大緻的思路,如果想設計一個功能更強大的程式可能更複雜一些。文章中沒有附圖,可能看起來比較枯燥,但文字的講解看起來還是比較簡單的。希望能給一些讀者一些啟發。
鄭重聲明:此文章純屬個人原創,目的在與和各位網友進行學習開發上的交流,請不要随意的複制和修改。如要引用,請注明出處。謝謝!