日期:2009-12-21  浏览次数:20929 次

经过长时间学习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