SQL Server:存储图像和BLOB文件(三)

豆豆网   技术应用频道   2008年04月14日  【字号: 收藏本文

内容摘要:SQL Server:存储图像和BLOB文件(三)要集中讨论了VARBINARY(MAX)数据类型。本文第一部分的代码例子将图像加载到数据库,然后通过使用aspx页面对该图像进行检索和显示。本文将创建一个基于网络的应用程序用来将图像插入到SQL Server里。

  从网页将图像插入到SQL Server

  本例将使用Microsoft Visual Studio 2008来创建一个网页表单,该表单会要求终端用户浏览并上传文件到SQL Server。这个应用程序也可以在Visual Studio 2005中使用。首先,创建一个新网站和一个代码分离的aspx页面,如下图所示,拖动FileUpload和按钮控制到该表单上。

  切换到该页面的源视图,并按下文所示更改默认<form>标签:<form id="form1" runat="server" enctype="multipart/form-data">

  
  “enctype”指定了表单数据如何编码。切换回到设计视图,双击按钮创建OnClick事件,这会将该代码分离的页面调出来,如下显示: 

SQL Server:存储图像和BLOB文件(三)

  在该页面顶部,添加以下using语句:

  usingSystem.Data.Sql;
  usingSystem.Data.SqlClient;
  Andalsoastatementforthefilesystem:
  usingSystem.IO;

  添加如下代码到Button1_Click事件中:

  stringsConn=@"server=.;database=BLOBTest3;IntegratedSecurity=True";
  SqlConnectionobjConn=newSqlConnection(sConn);
  objConn.Open();
  SqlCommandobjCmd=newSqlCommand("WebUp",objConn);
  objCmd.CommandType=CommandType.StoredProcedure;
  SqlParameterparamFileData=objCmd.Parameters.Add("@FileData",SqlDbType.VarBinary);
  paramFileData.Direction=ParameterDirection.Input;
  byte[]bImage=newbyte[FileUpload1.PostedFile.ContentLength];
  StreamobjStream=FileUpload1.PostedFile.InputStream;
  objStream.Read(bImage,0,FileUpload1.PostedFile.ContentLength);
  paramFileData.Value=bImage;
  objCmd.ExecuteNonQuery();
  objConn.Close();

来源:IT专家网    作者:cyw    责编:豆豆技术应用

正在加载评论...