仓酷云

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

[学习教程] ASP网页编程之在SQL Server中保留和输入图片

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:22:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件server
先容
偶然候我们必要保留一些binarydata进数据库。SQLServer供应一个叫做image的特别数据范例供我们保留binarydata。Binarydata能够是图片、文档等。在这篇文章中我们将看到怎样在SQLServer中保留和输入图片。

建表

为了实验这个例子你必要一个含无数据的table(你能够在如今的库中创立它,也能够创立一个新的数据库),上面是它的布局:

ColumnName
Datatype
Purpose

ID
Integer
identitycolumnPrimarykey

IMGTITLE
Varchar(50)
Storessomeuserfriendlytitletoidentitytheimage

IMGTYPE
Varchar(50)
Storesimagecontenttype.ThiswillbesameasrecognizedcontenttypesofASP.NET

IMGDATA
Image
Storesactualimageorbinarydata.





保留images进SQLServer数据库



为了保留图片到table你起首得从客户端上传它们到你的web服务器。你能够创立一个webform,用TextBox失掉图片的题目,用HTMLFileServerControl失掉图片文件。确信你设定了Form的encType属性为multipart/form-data。



Streamimgdatastream=File1.PostedFile.InputStream;

intimgdatalen=File1.PostedFile.ContentLength;

stringimgtype=File1.PostedFile.ContentType;

stringimgtitle=TextBox1.Text;

byte[]imgdata=newbyte[imgdatalen];

intn=imgdatastream.Read(imgdata,0,imgdatalen);

stringconnstr=

((NameValueCollection)Context.GetConfig

("appSettings"))["connstr"];

SqlConnectionconnection=newSqlConnection(connstr);

SqlCommandcommand=newSqlCommand

("INSERTINTOImageStore(imgtitle,imgtype,imgdata)

VALUES(@imgtitle,@imgtype,@imgdata)",connection);



SqlParameterparamTitle=newSqlParameter

("@imgtitle",SqlDbType.VarChar,50);

paramTitle.Value=imgtitle;

command.Parameters.Add(paramTitle);



SqlParameterparamData=newSqlParameter

("@imgdata",SqlDbType.Image);

paramData.Value=imgdata;

command.Parameters.Add(paramData);



SqlParameterparamType=newSqlParameter

("@imgtype",SqlDbType.VarChar,50);

paramType.Value=imgtype;

command.Parameters.Add(paramType);



connection.Open();

intnumRowsAffected=command.ExecuteNonQuery();

connection.Close();



从数据库中输入图片



如今让我们从数据库中掏出我们方才保留的图片,在这儿,我们将间接将图片输入至扫瞄器。你也能够将它保留为一个文件或做任何你想做的。



privatevoidPage_Load(objectsender,System.EventArgse)

{

stringimgid=Request.QueryString["imgid"];

stringconnstr=((NameValueCollection)

Context.GetConfig("appSettings"))["connstr"];

stringsql="SELECTimgdata,imgtypeFROMImageStoreWHEREid="

+imgid;

SqlConnectionconnection=newSqlConnection(connstr);

SqlCommandcommand=newSqlCommand(sql,connection);

connection.Open();

SqlDataReaderdr=command.ExecuteReader();

if(dr.Read())

{

Response.ContentType=dr["imgtype"].ToString();

Response.BinaryWrite((byte[])dr["imgdata"]);

}

connection.Close();

}


在下面的代码中我们利用了一个已翻开的数据库,经由过程datareader选择images。接着用Response.BinaryWrite取代Response.Write来显现image文件。

但愿您喜好这些文章,若有任何定见和倡议请致信webmaster@bipinjoshi.com。


缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。
因胸联盟 该用户已被删除
沙发
发表于 2015-1-20 09:36:02 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
若相依 该用户已被删除
板凳
发表于 2015-1-27 09:37:45 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
爱飞 该用户已被删除
地板
发表于 2015-2-5 04:21:00 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
柔情似水 该用户已被删除
5#
发表于 2015-2-11 04:13:49 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
莫相离 该用户已被删除
6#
发表于 2015-3-1 20:57:42 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
第二个灵魂 该用户已被删除
7#
发表于 2015-3-10 23:31:54 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-17 16:07:29 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-1-3 23:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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