基于SQL Server的Asp.net图片存储技术

1 引言

互联网时代的到来,使得各种各样的基于互联网的应用系统层出不穷,其中绝大部分应用系统都会用 到图片数据,需要将图片在用户界面显示出来。这里介绍一种实现方法,把图片存储到某个文件夹内.然 后按要求显示。具体实现步骤是把图片路径等记录的附加信息存储到数据库中,而真正的图片文件存储到 某个文件夹。该方法是一种很好的解决方案。

2 图片的处理方式

对于图片的处理有两种方式:①图片数据以文件形式直接存储在硬盘,在数据库中保存该图片的记录 附加信息(路径,文件名,注释…);②图片直接存储在数据库中。这两种方式各有利弊。图片文件存入数 据库中便于管理与维护,而存入硬盘可能会因为不小心删除图片文件,而使得数据不一致:但图片放在数 据库中不便于修改编辑,同时会引起数据库读取数据时的I/O消耗,而放在硬盘上则不会引起这个问题。 所以对于小文件,建议放在数据库中便于管理,而对于大文件,且不可放在数据库中,否则数据库表会大 量产生数据文件的碎片。

3 图片存储方法

该系统使用ASP.NET和SQL Server数据库实现图片的存储。将图片存放到硬盘指定的目录下,将图片 的相对存储路径和其他附属信息存储到数据库中。开发平台使用的语言为VB,数据库访问技术为AD0.NET 擞据访问机制采用的是AD0.NET里的OleDb机制。

3.1 数据库表的建立

对于整个图片管理系统中的图片存储,需建立图片内容表(myimg),其结构如表1所示。

时间: 2024-11-19 00:19:14

基于SQL Server的Asp.net图片存储技术的相关文章

一起谈.NET技术,基于SQL Server 2008 Service Broker构建企业级消息系统

1.引言 Microsoft 在SQL Server 2005引入了服务代理 (Service Broker 简称SSB) 为技术支持代理设计模式和面向消息的中间件 (MOM) 的原则.Service Broker在SQL Server 2008上得到完善, SQL Server Service Broker 为消息和队列应用程序提供 SQL Server 数据库引擎本机支持. 这使开发人员可以轻松地创建使用数据库引擎组件在完全不同的数据库之间进行通信的复杂应用程序.开发人员可以使用 Servi

开发连接远程SQL Server 的ASP程序应注意的问题

Microsoft SQL Server7.0是一种大型.分布式数据库系统,也可被认为是一种大型.分布式数据仓库.由于其与Windows NT和BackOffice以及Visual Studio具有紧密的配合,已被越来越多的网络应用系统所采用.而ASP程序也以其和NT的紧密连接,可使用ActiveX对象.CGI接口对象化等特点向CGI程序发起了有力的挑战.下面,就谈谈开发连接远程SQL Server 的ASP程序应注意的几个问题. SQL Server是一个十分注重安全性的数据库,特别是在7.0

简单谈基于SQL SERVER 分页存储过程的演进

server|存储过程|分页 简单谈基于SQL SERVER 分页存储过程的演进 作者:郑佐日期:2006-9-30 针对数据库数据在UI界面上的分页是老生常谈的问题了,网上很容易找到各种"通用存储过程"代码,而且有些还定制查询条件,看上去使用很方便.笔者打算通过本文也来简单谈一下基于SQL SERVER 2000的分页存储过程,同时谈谈SQL SERVER 2005下分页存储过程的演进. 在进行基于UI显示的数据分页时,常见的数据提取方式主要有两种.第一种是从数据库提取所有数据然后在

简析基于SQL SERVER分页存储过程的演进

针对数据库数据在UI界面上的分页是老生常谈的问题了,网上很容易找到各种"通用存储过程"代码,而且有些还定制查询条件,看上去使用很方便.笔者打算通过本文也来简单谈一下基于SQL SERVER 2000的分页存储过程,同时谈谈SQL SERVER 2005下分页存储过程的演进. 在进行基于UI显示的数据分页时,常见的数据提取方式主要有两种.第一种是从数据库提取所有数据然后在系统应用程序层进行数据分页,显示当前页数据.第二种分页方式为从数据库取出需要显示的一页数据显示在UI界面上. 以下是笔

谈谈基于SQL Server 的Exception Handling[上篇]

对于所有的开发人员来说,Exception Handling是我们每天都要面对的事情.对于基于Source Code的Exception Handling,我想大家已经司空见惯了,但是对于Database级别的Exception Handling,就没有那么常见了.在这篇文章中,我将会介绍我对于基于Database编程中Exception Handling的一些粗浅的认识:在编写Stored Procedure时,如何抛出一个可预知的Exception,ADO.NET如何处理从Database抛

谈谈基于SQL Server 的Exception Handlingp[下篇]

六.SqlException 在上面一节中,我给出了一个完整的例子说明了:如何在将message定义在sys.messages中保证message的一致性和可维护性:如何在Stored procedure中使用RAISERROR将一个可预知的Error抛出:如何在Stored procedure中使用TRY/CATCH进行异常的捕捉:在Application如果处理从SQL Server抛出的Exception.实际上,SQL Server database Engine抛出.被我们的.NET最

谈谈基于SQL Server 的Exception Handling

对于所有的开发人员来说,Exception Handling是我们每天都要面对的事情.对于基于Source Code的Exception Handling,我想大家已经司空见惯了,但是对于Database级别的Exception Handling,就没有那么常见了.在这篇文章中,我将会介绍我对于基于Database编程中Exception Handling的一些粗浅的认识:在编写Stored Procedure时,如何抛出一个可预知的Exception,ADO.NET如何处理从Database抛

谈谈基于SQL Server 的Exception Handling[中篇]

三.    TRY CATCH & Return 在上面一节中,我通过RAISERROR重写了创建User的Stored procedure,实际上上面的Stored procedure是有问题的.我之所以没有立即指出,是因为这是一个很容易犯的错误,尤其是习惯了.NET Exception Handling的人更容易犯这样的错误.我们知道在.NET Application中,如果出现一个未处理的Exception,程序将立即终止,后续的程序将不会执行,但是对于上面的SQL则不一样,虽然我们通过R

《T-SQL性能调优秘笈——基于SQL Server 2012 窗口函数》——1.2 使用窗口函数的解决方案简介

1.2 使用窗口函数的解决方案简介 T-SQL性能调优秘笈--基于SQL Server 2012 窗口函数 本书前4章描述了窗口函数及其优化,所选素材偏重技术说明,虽然我自己觉得很吸引人,但可以想见,有些人会觉得有点沉闷.通常来说,人们在阅读用窗口函数解决现实问题的内容时,会觉得比较有趣,本书将在最后一章满足大家.只有当我们看到能如何用窗口函数解决难题时,才会真正认识到它们的价值.所以,我在思考如何说服你在读到有趣的章节之前,能坚持读完这些枯燥的技术说明而不中途放弃.也许我可以展示一个窗口函数解