仓酷云

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

[学习教程] MYSQL网站制作之怎样在SQL Server中保留和输入图片

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:32:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
通过支付一定费用,客户可以得到优先的24/7支持,访问内容丰富的在线知识库和联系一个专门的技术负责经理。server建表  

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

<Pclass=code>
  1.   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。 

<Pclass=code>
  1.   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();  
复制代码
从数据库中输入图片  

如今让我们从数据库中掏出我们方才保留的图片,在这儿,我们将间接将图片输入至扫瞄器。你也能够将它保留为一个文件或做任何你想做的。<Pclass=code>
  1.   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文件。那时候Sybase已经诞生了6年的时间。至于其他值得关注的开源数据库,PostgreSQL将在2009年达到20岁的生日。虽然MySQL并不是市场上最年轻的数据库,但是却有更多成熟的数据库可供我们选择。
简单生活 该用户已被删除
沙发
发表于 2015-1-19 16:13:35 来自手机 | 只看该作者
同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。
爱飞 该用户已被删除
板凳
发表于 2015-1-28 08:19:23 | 只看该作者
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
海妖 该用户已被删除
地板
发表于 2015-2-13 11:37:23 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
若天明 该用户已被删除
5#
发表于 2015-3-3 20:49:40 | 只看该作者
呵呵,这就是偶想说的
柔情似水 该用户已被删除
6#
发表于 2015-3-11 13:39:34 | 只看该作者
相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐
第二个灵魂 该用户已被删除
7#
发表于 2015-3-18 21:15:13 | 只看该作者
发几份SQL课件,以飨阅者
飘灵儿 该用户已被删除
8#
发表于 2015-3-26 18:33:09 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-29 22:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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