經過長時間學習ASP.NETWeb,於是和大家分享一下,看完本文你肯定有不少收穫,希望本文能教會你更多東西。學習ASP.NETWeb時,你可能會遇到相關問題,這裡將介紹ASP.NETWeb問題的解決方案。
該結構分三個層次:展示層、業務層、資料層。資料層:代表物理資料庫。業務層:負責資料層與展示層之間的資料轉送。展示層:應用程式的用戶端,它通過業務層來訪問資料庫。
展示層所操作的是駐留在記憶體中的本機資料,當需要更新資料庫資料時,要通過業務層提供的更新方法實現。這樣可以大大提高應用程式的效能,而且,什麼時候更新資料完全由你決定,提高了編程的靈活性。
執行個體:
這裡我們具體做一個執行個體來看看如何用VB.NET建立三層結構的應用程式。
資料庫:我們選擇SQLSERVER的NorthWind資料庫。業務層:我們建立一個WebService作為中介層。(需要安裝IIS服務)展示層:ASP.NETWeb我們寫一個WindowsForm第一步:建立WebService。
具體步驟如下:
1.建立一個項目,選擇ASP.NETWeb服務,命名為:”WebServiceFor業務層”。
2.添加兩個SqlDataAdapter,一個為Customer_da,它指向NorthWind資料庫的Customers表,ASP.NETWeb另一個為Order_da,指向Northwind資料庫的Orders表。
3.然後產生一個TypedDataSet(選擇“資料”菜單的“產生資料集”),命名為:Super_ds.
4.資料庫連接已經完成,下一步我們將考慮它與展示層之間的通訊,這裡我們定義兩個方法。一個為:Get_DataSet,它返回一個Super_ds類型的資料集,另一個為:Update_DataSet,它負責更新資料庫資料,方法代碼如下:
ImportsSystem.Web.Services PublicClassService1 InheritsSystem.Web.Services.WebService ‘WebServicesDesignerGeneratedCode……. <WebMethod()>PublicFunctionGet_Dataset()Assuper_ds customer_da.Fill(Super_ds1.Customers) order_da.Fill(Super_ds1.Orders) ReturnSuper_ds1 EndFunction <WebMethod()>PublicSubUpdate_Dataset() Super_ds1.AcceptChanges() EndSub WEBSERVICEEXAMPLE TheHelloWorld()exampleservicereturnsthestringHelloWorld. Tobuild,uncommentthefollowinglinesthensaveandbuildtheproject. Totestthiswebservice,ensurethatthe.asmxfileisthestartpage andpressF5. <WebMethod()>PublicFunctionHelloWorld()AsString elloWorld="HelloWorld" EndFunction EndClass '日期轉換星座函數,參數是日期型
function astro(birth)
astro=""
if birth="" or not isdate(birth) Then exit function
birthmonth=month(birth) : if birthmonth<10 then birthmonth="0" & birthmonth
birthday=day(birth) : if birthday<10 then birthday="0" & birthday
birth=trim(birthmonth & birthday) '重整月日,0903型
rAstro=split("水瓶座*0120*0219#雙魚座*0220*0320#白羊座*0321*0420#金牛座*0421*0521#雙子座*0522*0621#巨蟹座*0622*0722#獅子座*0723*0823#處女座*0824*0923#天秤座*0924*1023#天蠍座*1024*1122#射手座*1123*1222#摩蠍座*1222*0119#","#")
astro="摩蠍座" '這個是跨年的,不好對比,先預設
for i_ls=0 to ubound(rAstro)-2
rls2=split(rAstro(i_ls) & "*","*")
if birth>=rls2(1) and birth<=rls2(2) then
astro=rls2(0)
exit for
end if
next
end function