知识大全 ASP.NET2.0中将文件上传到数据库

Posted 数据库

篇首语:没有一贯的蔑视,又怎能不断地欣赏呢?本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET2.0中将文件上传到数据库相关的知识,希望对你有一定的参考价值。

ASP.NET2.0中将文件上传到数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  此问题经常被人问 本文列出将文字和图片上传到数据库的方法 包括Access数据库和SQL Server数据库

  Access数据库代码

  <%@ Page Language= C# EnableViewState= true %>

  <%@ Import Namespace= System Data OleDb %><!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN transitional dtd >

  <script runat= server >

  protected void Button _Click( object sender EventArgs e )      System IO Stream fileDataStream = FileUpload PostedFile InputStream;

  if (fileDataStream Length < )          Msg Text = 请选择文件 ;      return;   

  //得到文件大小    int fileLength = FileUpload PostedFile ContentLength;

  //创建数组    byte[] fileData = new byte[fileLength];    //把文件流填充到数组    fileDataStream Read(fileData fileLength);    //得到文件类型    string fileType = FileUpload PostedFile ContentType;

  //构建数据库连接 SQL语句 创建参数    string strCnn = Provider=Microsoft Jet OLEDB ;Data Source= + Server MapPath( Image Access mdb );    OleDbConnection myConnection = new OleDbConnection(strCnn);    OleDbCommand mand = new OleDbCommand( INSERT INTO Person (PersonName PersonEmail PersonSex PersonImageType PersonImage) +    VALUES (@PersonName @PersonEmail @PersonSex @PersonImageType @PersonImage) myConnection);

  mand Parameters AddWithValue( @PersonName TextBox Text);    mand Parameters AddWithValue( @PersonEmail mengxia );    mand Parameters AddWithValue( @paramPersonSex 男 );    mand Parameters AddWithValue( @PersonImageType fileType);    mand Parameters AddWithValue( @PersonImage fileData);

  //打开连接 执行查询    myConnection Open();    mand ExecuteNonQuery();    myConnection Close();    Response Redirect(Request RawUrl); 

  protected void Page_Load( object sender EventArgs e ) 

  if (!Page IsPostBack)          BindGrid();     

  private void BindGrid( )      string strCnn = Provider=Microsoft Jet OLEDB ;Data Source=     + Server MapPath( Image Access mdb );    OleDbConnection myConnection = new OleDbConnection(strCnn);    OleDbCommand myCommand = new OleDbCommand( SELECT * FROM Person myConnection);

  try          myConnection Open();      GridView DataSource = myCommand ExecuteReader(System Data CommandBehavior CloseConnection);      GridView DataBind();        catch (OleDbException SQLexc)          Response Write( 提取数据时出现错误 + SQLexc ToString());        protected string FormatURL( object strArgument )      return ReadImage aspx?id= + strArgument ToString();   

  </script>

  < xmlns= ><head runat= server >  <title>上传文件到数据库</title></head><body>  <form id= MengXianhui runat= server >    <asp:GridView ID= GridView runat= server AutoGenerateColumns= false >      <Columns>        <asp:TemplateField>          <ItemTemplate>            <%#Eval( PersonName ) %>          </ItemTemplate>        </asp:TemplateField>        <asp:TemplateField>          <ItemTemplate>            <%#Eval( PersonEmail ) %>          </ItemTemplate>        </asp:TemplateField>        <asp:TemplateField>          <ItemTemplate>            <%#Eval( PersonSex ) %>          </ItemTemplate>        </asp:TemplateField>        <asp:TemplateField>          <ItemTemplate>            <img src= <%#FormatURL(Eval( PersonID )) %> /></ItemTemplate>        </asp:TemplateField>      </Columns>    </asp:GridView>    <br />    <br />    姓名 <asp:TextBox ID= TextBox runat= server ></asp:TextBox>    <br />    照片 <asp:FileUpload ID= FileUpload runat= server />    <asp:Button ID= btnUpload runat= server Text= 上传 OnClick= Button _Click ></asp:Button>    <p>      <asp:Label ID= Msg runat= server ForeColor= Red ></asp:Label></p>  </form></body></>

   

  SQL Server数据库代码

  <%@ Page Language= C# EnableViewState= true %>

  <%@ Import Namespace= System Data SqlClient %><!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN transitional dtd >

  <script runat= server >  string strCnn = Persist Security Info=False;User ID=sa;Password=;Initial Catalog=Book;Server=(local); ;  protected void Button _Click( object sender EventArgs e )      System IO Stream fileDataStream = FileUpload PostedFile InputStream;

  if (fileDataStream Length < )          Msg Text = 请选择文件 ;      return;   

  //得到文件大小    int fileLength = FileUpload PostedFile ContentLength;

  //创建数组    byte[] fileData = new byte[fileLength];    //把文件流填充到数组    fileDataStream Read(fileData fileLength);    //得到文件类型    string fileType = FileUpload PostedFile ContentType;

  //构建数据库连接 SQL语句 创建参数

  SqlConnection myConnection = new SqlConnection(strCnn);    SqlCommand mand = new SqlCommand( INSERT INTO UserPhoto (UserName ContentType Photo) +    VALUES (@UserName @ContentType @Photo) myConnection);

  mand Parameters AddWithValue( @UserName TextBox Text);    mand Parameters AddWithValue( @ContentType fileType);    mand Parameters AddWithValue( @Photo fileData);

  //打开连接 执行查询    myConnection Open();    mand ExecuteNonQuery();    myConnection Close();    Response Redirect(Request RawUrl); 

  protected void Page_Load( object sender EventArgs e ) 

  if (!Page IsPostBack)          BindGrid();     

  private void BindGrid( )      SqlConnection myConnection = new SqlConnection(strCnn);    SqlCommand myCommand = new SqlCommand( SELECT * FROM UserPhoto Order By id DESC myConnection);

  try          myConnection Open();      GridView DataSource = myCommand ExecuteReader(System Data CommandBehavior CloseConnection);      GridView DataBind();        catch (Exception SQLexc)          Response Write( 提取数据时出现错误 + SQLexc ToString());        protected string FormatURL( object strArgument )      return ReadImage aspx?id= + strArgument ToString();   

  </script>

  < xmlns= ><head id= Head runat= server >  <title>上传文件到数据库</title></head><body>  <form id= MengXianhui runat= server >    <asp:GridView ID= GridView runat= server AutoGenerateColumns= false >      <Columns>        <asp:TemplateField>          <ItemTemplate>            <%#Eval( UserName ) %>          </ItemTemplate>        </asp:TemplateField>        <asp:TemplateField>          <ItemTemplate>            <img src= <%#FormatURL(Eval( id )) %> /></ItemTemplate>        </asp:TemplateField>      </Columns>    </asp:GridView>    <br />    <br />    姓名 <asp:TextBox ID= TextBox runat= server ></asp:TextBox>    <br />    照片 <asp:FileUpload ID= FileUpload runat= server />    <asp:Button ID= btnUpload runat= server Text= 上传 OnClick= Button _Click ></asp:Button>    <p>      <asp:Label ID= Msg runat= server ForeColor= Red ></asp:Label></p>  </form></body></>

  显示图片

  <%@ Page Language= C# %>

  <%@ Import Namespace= System Data OleDb %><%@ Import Namespace= System Data SqlClient %><script runat= server >

  protected void Page_Load( object sender EventArgs e )      ////构建数据库连接 SQL语句 创建参数    //ACCESS数据库使用本注释部分    //string strCnn = Provider=Microsoft Jet OLEDB ;Data Source= + Server MapPath( Image Access mdb );    //OleDbConnection myConnection = new OleDbConnection(strCnn);    //OleDbCommand mand = new OleDbCommand( select * from Person Where PersonID = + Request QueryString[ id ] myConnection);    //myConnection Open();    //OleDbDataReader dr = mand ExecuteReader();    //if (dr Read())    //    //  Response Clear();    //  Response AddHeader( Content Type dr[ PersonImageType ] ToString());    //  Response BinaryWrite((byte[])dr[ PersonImage ]);    //    //dr Close();    //myConnection Dispose();

  //构建数据库连接 SQL语句 创建参数    string strCnn = Persist Security Info=False;User ID=sa;Password=;Initial Catalog=Book;Server=(local); ;    SqlConnection myConnection = new SqlConnection(strCnn);    SqlCommand mand = new SqlCommand( select * from UserPhoto Where id = + Request QueryString[ id ] myConnection);    myConnection Open();    SqlDataReader dr = mand ExecuteReader();    if (dr Read())          Response Clear();      Response AddHeader( Content Type dr[ ContentType ] ToString());      Response BinaryWrite((byte[])dr[ Photo ]);        dr Close();    myConnection Dispose();  </script>

  创建SQL数据表语句

  CREATE TABLE [UserPhoto] ( [id] [int] IDENTITY ( ) NOT NULL  [UserName] [nvarchar] ( ) COLLATE Chinese_PRC_CI_AS NOT NULL  [ContentType] [varchar] ( ) COLLATE Chinese_PRC_CI_AS NOT NULL  [Photo] [image] NOT NULL  CONSTRAINT [PK_UserPhoto] PRIMARY KEY  CLUSTERED  (  [id] )  ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO

cha138/Article/program/net/201311/13767

相关参考

知识大全 ASP.NET2.0—— 实现数据访问层

ASP.NET2.0——实现数据访问层  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在文章重点

知识大全 ASP.NET2.0中数据源控件之异步数据访问

ASP.NET2.0中数据源控件之异步数据访问  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在

知识大全 asp.net2.0加密数据库连接字符串技巧

cha138/Article/program/net/201311/14320

知识大全 ASP.Net2.0 数据绑定控件的优越性

ASP.Net2.0数据绑定控件的优越性  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  尽管有丰

知识大全 ASP.NET2.0中使用数据源控件之基础知识

ASP.NET2.0中使用数据源控件之基础知识  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!数据源

知识大全 ASP.NET中上传文件到数据库

ASP.NET中上传文件到数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一介绍  为什么

知识大全 上传文件到数据库并从数据库读出

  老是找不到合适的数据库上传下载的从网上找了一些代码改写了个可以直接使用的版本!  代码  AttachmentId   bigint   

知识大全 ASP.NET2.0缓存技术

新手基础教程:ASP.NET2.0缓存技术  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASP

知识大全 ASP.NET2.0新特性概述

ASP.NET2.0新特性概述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    ASPNET技

知识大全 ASP.NET2.0 验证cookie详解

ASP.NET2.0验证cookie详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  对于AS