cashcho(翻译)
关键字 SQLServerimages
出处http://www.bipinjoshi.com/
介绍
有时候我们需要保存一些binarydata进。 SQLServer提供一个叫做image的特殊数据类型供我们保存binarydata。Binarydata可以是图片、文档等。在这篇文章中我们将看到如何在 SQLServer 中保存和 输出图片。
建表
为了试验这个例子你需要一个含有数据的table(你可以在现在的库中创建它,也可以创建一个新的数据库),下面是它的结构:
identitycolumnPrimarykey
IMGDATA
保存images进SQLServer数据库
为了保存图片到table你首先得从客户端上传它们到你的web服务器。你可以创建一个webform,用TextBox得到图片的标题,用FileServerControl得到图片文件。确信你设定了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();
从数据库中输出图片
现在让我们从数据库中取出我们刚刚保存的图片,在这儿,我们将直接将图片输出至浏览器。你也可以将它保存为一个文件或做任何你想做的。 1 <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>