仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3389|回复: 19
打印 上一主题 下一主题

[学习教程] ASP网页设计若何从ACCESS数据库中读取图形(续)

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
#
发表于 2015-2-16 00:25:34 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ASP.NET和ASP的比较,技术上比较已经没什么可说的了.新一代在大部分程度来说当然是比旧一代好了. 关键看你对所做软件的理解了.因人而定.会写的话也可能比ASP.NET写得更有效率和更方便重用access|数据|数据库|图形   注重的是你也能够从一个文件中新建一个位图对象,但利用如许
的体例保留在数据库中的图形格局是阅读器不克不及够辨认的。
当你往数据库中保留图像时,你应当晓得你需求利用甚么格局来保留
你可以把文件中的每个字节保留上去,或则经由过程ACCESS/Foxpro的把图形保留
为一个OLE格局。
你利用甚么格局保留图像决意了你在ASP顶用甚么格局来读出图形来。
详细来讲,假如你在ACCESS/FoxPro中将图形保留为bmp,gif,jpeg(
这个必需要利用到ACCESS/FoxPro的OLE对象,即便用ACCESS的拔出对象
对话框来完成),这是当你利用
image/bmp时阅读器是不克不及够注释的。

如今假定在数据库中保留的是你所想要的图形格局
(GIF, JPEG, BMP, TIFF, 等等等等)如今来看看要怎样把它们从
数据库中读出来。

在ACCESS中利用了两个关头的手艺来保留图形
1。利用了bmp格局
2。78个字节的文件头

<%
response.Expires = 0
response.Buffer = True
response.Clear
response.contentType = "image/bmp"
%>
接着你要干的就是去失落那78个字节的OLE对象的文件头。
<%
Const OLEHEADERSIZE = 78
nFieldSize = rs("photo").ActualSize
oleHeader = rs("photo").GetChunk(OLEHEADERSIZE)
imageBytes = rs("photo").GetChunk(nFieldSize - OLEHEADERSIZE)
Response.BinaryWrite imageBytes
%>

如今举一个例子:
假如你要失掉一个职工的信息,这段信息包含一个引见和他的图像。
而且要同时显示文字和图形。
代码以下:(个中的theImg是一个代办署理页面)
theImg.asp
<%
response.Expires = 0
response.Buffer = True
response.Clear
response.contentType = Session("ImageType")
response.BinaryWrite Session("ImageBytes")
Session("ImageType") = ""
Session("ImageBytes") = ""
response.End
%>


Function SetImageForDisplay(field, contentType)
OLEHEADERSIZE = 78
contentType = LCase(contentType)
select case contentType
case "gif", "jpeg", "bmp"
contentType = "image/" & contentType
bytes = field.value
case "ole"
contentType = "image/bmp"
nFieldSize = field.ActualSize
oleHeader = field.GetChunk(OLEHEADERSIZE)
bytes = field.GetChunk(nFieldSize - OLEHEADERSIZE)
end select
Session("imageBytes") = bytes
Session("imageType") = contentType
End Function
'注重的是,法式中只利用了4中格局:gif, jpeg, bmp , ole .

<%
sql = "select * from Employees"
Set oRS = Server.CreateObject("ADODB.Recordset")
oRS.CursorLocation = 3
oRS.Open sql, "DSN=NW"
SetImageForDisplay oRS("photo"), "ole"
Set oRS.ActiveConnection = Nothing
%>

要显示图像的话,只需求在别的一个asp中,假定为getEmpInfo.asp中
<img src="theImg.asp"</img>
但这还有一个成绩,由于对每一个职工的图形都利用了统一个"theImg.asp"
文件,应当再小小修正一下:
<img src="theImg.asp?temp=<%= Request.Form("empLastName")%>"</img>

最初再说一点,若何显示多幅图像呢?
也就是说假如数据库中有多个字段都保留了图形,怎样办?
其实处理举措很复杂,只需给SetImageForDisplay多加一个参数
就是用来保留图形的一个session变量。
例如:
SetImageForDisplay oRS1("photo"), "ole", "empPhoto"
SetImageForDisplay oRS2("logo"), "gif", "compLogo"

<img src="theImg2.asp?varName=empPhoto&temp=<%= Request.Form("empLastName")%>">
<img src="theImg2.asp?varName=compLogo&temp=<%= Request.Form("imgCode")%>">

利用这个办法可以完成上面的功效:
1。可以从数据库中掏出图形字段。(你独一需求晓得的是数据库中的图形是甚么格局
bmp?gif?jpeg?ole?)
2.采取session变量 来保留图形的字节数和content type
asp需求这些信息来联合到<IMG>中的属性
3。只需把theImg放到你想显示图形的中央,就可以够显示图像了。

</p>  因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。
冷月葬花魂 该用户已被删除
19#
发表于 2015-7-14 05:45:50 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
18#
发表于 2015-7-13 17:46:18 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
因胸联盟 该用户已被删除
17#
发表于 2015-6-13 05:01:31 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
变相怪杰 该用户已被删除
16#
发表于 2015-4-24 00:57:33 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
乐观 该用户已被删除
15#
发表于 2015-4-24 00:56:03 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
小女巫 该用户已被删除
14#
发表于 2015-4-23 02:01:43 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
兰色精灵 该用户已被删除
13#
发表于 2015-4-22 03:52:47 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
admin 该用户已被删除
12#
发表于 2015-4-19 19:35:37 | 只看该作者
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
老尸 该用户已被删除
11#
发表于 2015-4-15 15:43:27 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
小妖女 该用户已被删除
10#
发表于 2015-4-7 04:55:04 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
不帅 该用户已被删除
9#
发表于 2015-4-1 06:11:35 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
金色的骷髅 该用户已被删除
8#
发表于 2015-3-24 08:49:15 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
小魔女 该用户已被删除
7#
发表于 2015-3-22 05:09:22 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
深爱那片海 该用户已被删除
6#
发表于 2015-3-15 21:45:29 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
分手快乐 该用户已被删除
5#
 楼主| 发表于 2015-3-15 07:32:46 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
只想知道 该用户已被删除
地板
发表于 2015-3-12 11:23:07 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
第二个灵魂 该用户已被删除
板凳
发表于 2015-3-7 13:50:53 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
山那边是海 该用户已被删除
沙发
发表于 2015-3-4 21:51:13 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
若相依 该用户已被删除
楼主
发表于 2015-2-16 01:45:46 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 21:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表