基于三层架构模式的数据库图片字段处理方法
图片处理
第12期NO.12
宜宾学院学报JournalofYibinUniversity
Dec.200665
基于三层架构模式的数据库图片字段处理方法
邓昭俊1,黎文星2
(1.中山大学资讯管理系,广州510275;2.广州城市职业学院计算机工程系,广州510055)
摘要:本文以数据库中图片字段在网页中的处理为例说明三层架构模式的特点和开发过程。处理数据库中的图片字段时,先建立数据库服务层(又称为数据层)包括建立表和编写存储过程;然后是建立业务逻辑层(又称为功能层)处理各种操作,包括增加图片、获取图片等方法,完成类的设计;最后完成用户界面层(又称为表现层),利用控件如调用增加图片方法来上传图片,调用获取图片方法来显示图片等。三层架构可以发挥不同专业人员之所长,有机地把数据库设计、程序设计和界面设计结合在一起,从而更高效地完成系统开发。
关键词:三层架构;数据库;图片类型字段;VisualStudio2005中圈分类号:TP311.13
文献标识码:A
文章编号:1671—5365(2006)12—0065一03
l
三层架构的功能及其组成高时,频繁的调用可能会使文件系统崩溃。如用数据库的Image类型字段来记录图片信息则可很好的解决这一问题。在数据库中使用image(即图片)字段有如下的特点:
2.1
B/S、CJS应用程序在进行整体开发时,通常会使用三层架构模式。所谓三层架构,是指将系统明确分为数据库服务层(又称为数据层)、业务
逻辑层(又称为功能层)和用户界面层(又称为表现层),分别由不同专业
的人员进行开发,三者之间使用接13来通信,从而形成一个应用系统整体。
1.1数据库服务层:该层是应用程序的基础,为应用程序提供数据支持,通常包括:表、视图、关系和对表、视图、关系进行处理的存储过程。该层可采用任何一款关系型数据库,而SQLServer是该层的主要代表,它能与.NETFramework无缝集成,使用ADO.NET技术即可对其进行连接和处理。
1.2业务逻辑层:该层使用VB.NET、c#、J#、C++等编程语言,根据用户的要求,编写出各种方法,完成类的设计,还可选择地编写一个预处理程序。通过一系列的程序代码,实现对数据层的程序处理,是应用程序的功能核心。
1.3用户界面层:是用户使用系统的接口,让用户完成对系统的输入输出操作。通过输人向服务器请求数据,经后台程序处理后,以一定的格式输出结果。通常包括各种表单控件,通过表单控件来调用相应的类或预处理程序。该层主要是版面的美工设计,除此之外也有一定较简单的程序处理。丽两层架构的系统开发模式即把业务逻辑层和用户界面层合为一体,经常由程序员来完成美工界面设计,显得很不专业。在基于.netFrameWork2.0技术的网页设计中,用户界面层可以采用ASP.NET2.0大量功能强大的控件,使系统有更强的表现力。
2数据库中图片字段的特点
对于图片的处理,当然可以只把图片放于文件系统中,而数据库里只记录其对应文件的链接,在调用图片时只需根据链接内容把文件调用出来即可。但这种方法显然有不少的弊端,尤其是在网络客户使用频率较
收稿日期:2006—0H6—28
能给图片更多的信息,如标号、主题文字、备注,甚至放大图、缩
小图等。
2.2能减少文件操作(如增、删、改)时产生的链接出错的机会。2.3能稍微减少图片的总体存储空问。
2.4可以对图片引入加密和禁止下载的机制,使图片更加安全。因此可以说,把图片存放于数据库中,是一种很有意义的使用方式。3用三层架构模式处理数据库中的图片字段
但值得一提的是,目前普遍使用的图片格式,如JPG、GIF、BMP等文件类型,一般使用专用图片处理软件(如Photoshop等)来进行显示、薪建、修改等文件操作。而目前的数据库软件都只提供一个图片数据的存储平台,数据仅ljst--进制形式存放于Image类型的字段中,并没有提供对图片处理的任何操作方法。也就是说在数据库中存放图片,不可能由简单的“两层”(即由界面直接调用数据库)处理方法,而一定要增加功能层的处理。下面就讨论用三层架构模式来处理数据库中图片字段的方法和设计过程。
3.1数据层设计
3.1.1建立含有图片字段的表
在数据库中加入一个名为“信息表”的表,其中包含“照片号”字段,类型为char(8),和“照片”字段,类型为image。
3.1.2建立图片字段的存储过程建立对图片字段处理的存储过程,包括:
3.1.2.1
AddPhoto,用于对相应的“照片号”写入其“照片”的二进制
值,内容如下:
CREATEPROCEDURE
addphoto
作者简介:邓昭俊(1971一),男,讲师。主要从事是信息管理与信息系统研究;黎文星(1971一),男,讲师,主要从事是计算机软件系统开发研究。
图片处理
宜宾学院学报2006年12期
@照片号char(8),@照片image
AS
DimresultAsTry
RetumNew
Object:comm出rld.ExecuteScalar
update信息表set照片=@照片where照片号=@照片号
删RN
3.1.2.2
MemoryStream(CType(result,Byte()))
Getl)hoto,用于根据“照片号”来获取“照片”中的二进制内
Catch
ReturnNothingEndTryEndUsingEndUsiIlgEndFunction
容,内容如下:
CREATEPROCEDUREGetPhoto
@照片号varehar(8)AS
SELECT照片FROM信息表WHERE照片号=@照片号
RETURN
3.2程序层设计3.2.1图片管理类的设计
建立一个图片管理类,取名为PhotoManager.vb,其中包含了对数据库增加图片的方法,读取数据库中图片的方法等,其内容如下:
声名命名空间
ImportsSystem
至此,PhotoManager.vb文件构建完成,当然还可以继续加入“删除照片”、“同时获取多张照片”等各种系统所需的方法,做法与以上内容大致相同,也就是先建立对应的存储过程,然后在PhotoManager.vb类文件中加入方法,调用相应的存储过程。由于篇幅所限,不再一一详述。
3.2.2网页预处理程序
以上GetPhoto方法不能直接与网页中的img控件进行绑定,因为Get-Photo方法得到的MemoryStream必需分块后用context.Response.Output—Stream.Write输出到img的Sre属性值中。为完成以上的处理操作,就得编写一段网页预处理程序,存放在Handler.ashx文件中,内容如下:<%
@WebHandlerLanguage=“VB”Class=“Handler”%>
PublicClass
< …… 此处隐藏:5689字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




