分享
 
 
 

NET高级开发一:用VB.net+ADO.NET+SQL Server开发三层架构的运用程序

王朝mssql·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

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平台上进行高级开发的读者学习的一个参考。当然,这个例子的实际作用可能并不大,只是让我们认识到怎样去开发三层结构系统的大致的思路,如果想设计一个功能更强大的程序可能更复杂一些。文章中没有附图,可能看起来比较枯燥,但文字的讲解看起来还是比较简单的。希望能给一些读者一些启发。

郑重声明:此文章纯属个人原创,目的在与和各位网友进行学习开发上的交流,请不要随意的复制和修改。如要引用,请注明出处。谢谢!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有