当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用SQL Server为Web浏览器提供图像1

ASP
asp实现取得数组中的最大值的代码
asp 将日期格式化为需要的格式
asp 下产生任意位数随机密码的代码
asp下返回以千分位显示数字格式化的数值
asp重定向页面的方法总结
asp下去除数组中重复的项的方法
asp下实现 重新排序数字数组的代码
asp 验证输入网址是否有效并可以访问 与正则验证输入网址
asp验证Ip格式的函数
asp实现生成由数字,大写字母,小写字母指定位数的随机数
asp 格式化sql中的like字符串
asp 实现显示所有的服务器变量值的函数
asp 取得用户真实IP,对代理地址仍然有效的函数
asp 通用数据库连接过程函数
asp 字符串截取函数
asp下实现格式化文件大小以MB显示的函数
asp 下用正则表达式检测邮箱格式的函数
asp 实现检测字符串是否为纯字母和数字组合的函数
asp代码实现检测组件是否安装的函数
asp通过JMAIL实现通用发送函数

ASP 中的 用SQL Server为Web浏览器提供图像1


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 96 ::
收藏到网摘: n/a

  微软SQL Server数据库服务器能够在SQL数据库里保存图片和大量的文本。图片和文本使用的数据类型分别是image图
片类型和text文本类型。假如使用VB或VC开发前端应用程序,在windows操作系统上运行,那么可以容易地从SQL数据库里
提取图片数据,把它放入一个文件,并在屏幕上显示出来。但是,要是想从SQL Server得到图片,并在Web浏览器里显示,
就不那么容易了。虽然在微软SQL Server 6.5里提供了Web助理和存储过程 sp_makewebtask、sp_runwebtask,它们能够把
SQL数据库里的数据转化成HTML文件,但是我们有更好的解决办法。使用Web助理的一个问题是,它不接受图片数据类型的
字段。另一方面,存储过程 sp_makewebtask 的参数太多,很难使用,而且也很难对Web页面进行自定义。

    我们在这里提供了一个解决方案,把图片从SQL数据装载到Web浏览器,这个方案要比sp_makewebtask好。我们用一个
ActiveX 动态链接库和ASP页面开发了一个Web项目。动态链接库负责打开到保存图片的SQL数据库的连接,从数据库提取图
片并把它们保存在临时文件里。ASP和动态链接库进行通信,取得临时图片文件的位置。这样,当访问者点击Web站点时,
图片就会下载到他的浏览器。在这篇文章里,我们要介绍设置SQL数据库的步骤。然后,我们还要介绍如何利用VB5和活动
数据对象ADO 1.5建立ActiveX动态链接库。最后,我们还要讨论建立ASP Web项目、连接到SQL数据库以及编写ASP文件的处
理过程。

设置SQL数据库

    这篇文章里使用的数据库非常简单,只包含一个表,名字叫Products,代表普通小杂货店里的各种不同的商品。设置
数据库的第一步是建在微软SQL Server里建立一个数据库设备(译者注:在SQL Server 7.0里,数据库设备的概念已经取
消) 。虽然可以编写SQL脚本来设置数据库,但是使用SQL企业管理器操作更容易些。打开企业管理器,在树中选择数据库
设备(Database Device)。单击鼠标右键,在快捷菜里选择新建设备(New Device)。在名称(Name )字段里,输入
Grocevb_dev,把这个设备的大小设置为2MB。然后,单击建立(Create Now ) 按钮,就建立了数据库。接着,用同样的
方法建立另一个数据库设备,作为日志文件。给这个设备起名叫Grocevb_log ,把它的大小设置为1MB。

下一步,需要建立一个新的数据库。在树中选择数据库(Database),单击右键。然后,在弹出菜单里选择新建数据库
(New Database)。在建立新数据库对话框里,输入数据库名称 grocevb,并从下拉列表里选择前面建立的Grocevb_dev
作为数据设备, Grocevb_log 作为日志设备。然后,单击建立(Create Now)按钮,数据库就建立了。我们暂时忽略有关
数据库安全性、数据库备份、用户访问等方面的问题,因为它们跟这篇文章没有直接的关系。

我们建立的数据库只有一个表,表名是Products。在这个表里有几个字段,其中,有两个字段prod_image 和
prod_imagetype 需要特别说明。prod_image 字段的数据类型是image图片,在这个字段里保存某个产品的图片。
prod_imagetype 字段保存图片的类型,比如.gif 或 .jpg,这是在互联网上最常用的两种图片类型。这个表的主关键字是
prod_id,它是非集簇的索引。这样,每个图片都有一个唯一的 prod_id。在 列表 A里给出了建立 Products 表的SQL脚
本。在这个表里,只放了四个产品,用于本文演示。

列表A:建立products表的脚本。

/** 用来建立ImageLoader VB动态链接库使用的产品表。**/
CREATE TABLE Products
(
    prod_id  int  CONSTRAINT pk_prod PRIMARY KEY NONCLUSTERED IDENTITY(1, 1),
    categ_id  int  NULL  CONSTRAINT fk_prod REFERENCES categories(categ_id),
    prod_name  char(80) NOT NULL UNIQUE   NONCLUSTERED,
    prod_unitprice  money  NOT NULL,
    prod_unitquant  char(15)  NOT NULL,
    prod_desc  varchar(255) NULL   DEFAULT ('unknown'),
    prod_imagetype  char(3)  NOT NULL,
    prod_image image  NOT NULL,)
GO