ASP.NET2.0中将文件上传到Access数据库的代码、从数据库显示图片的代码=

 

<% @ Page Language = " C# "  EnableViewState = " true "   %>
<% @ Import Namespace = " System.Data.OleDb "   %>
<! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >

< script runat = " server " >

  
protected   void  Button1_Click(  object  sender, EventArgs e )
  {
    System.IO.Stream fileDataStream 
=  FileUpload1.PostedFile.InputStream;

    
if  (fileDataStream.Length  <   1 )
    {
      Msg.Text 
=   " 请选择文件。 " ;
      
return ;
    }

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

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

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

    command.Parameters.AddWithValue(
" @PersonName " ,TextBox1.Text);
    command.Parameters.AddWithValue(
" @PersonEmail " " mengxianhui@dotnet.aspx.cc " );
    command.Parameters.AddWithValue(
" @paramPersonSex " " " );
    command.Parameters.AddWithValue(
" @PersonImageType " , fileType);
    command.Parameters.AddWithValue(
" @PersonImage " , fileData);


    
// 打开连接,执行查询
    myConnection.Open();
    command.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.4.0;Data Source= "
    
+  Server.MapPath( " Image2Access.mdb " );
    OleDbConnection myConnection 
=   new  OleDbConnection(strCnn);
    OleDbCommand myCommand 
=   new  OleDbCommand( " SELECT * FROM Person " , myConnection);

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


</ script >

< html xmlns = " http://www.w3.org/1999/xhtml " >
< head runat = " server " >
  
< title > 上传文件到数据库 </ title >
</ head >
< body >
  
< form id = " MengXianhui "  runat = " server " >
    
< asp:GridView ID = " GridView1 "  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 = " TextBox1 "  runat = " server " ></ asp:TextBox >
    
< br  />
    照片:
< asp:FileUpload ID = " FileUpload1 "  runat = " server "   />
    
< asp:Button ID = " btnUpload "  runat = " server "  Text = " 上传 "  OnClick = " Button1_Click " ></ asp:Button >
    
< p >
      
< asp:Label ID = " Msg "  runat = " server "  ForeColor = " Red " ></ asp:Label ></ p >
  
</ form >
</ body >
</ html >

 

显示图片

 

<% @ 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.4.0;Data Source=" + Server.MapPath("Image2Access.mdb");
    
// OleDbConnection myConnection = new OleDbConnection(strCnn);
    
// OleDbCommand command = new OleDbCommand("select * from Person Where PersonID =" + Request.QueryString["id"], myConnection);
    
// myConnection.Open();
    
// OleDbDataReader dr = command.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 command 
=   new  SqlCommand( " select * from UserPhoto Where id = "   +  Request.QueryString[ " id " ], myConnection);
    myConnection.Open();
    SqlDataReader dr 
=  command.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 (1, 1) NOT NULL ,
 [UserName] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [ContentType] [varchar] (50) 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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值