C#向ACCESS数据库插入图片

2016-02-19 18:21 78 1 收藏

下面是个C#向ACCESS数据库插入图片教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!

【 tulaoshi.com - 编程语言 】

精华网络内容 :http://www.qqread.com/network/

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

%@   Page   language="c#"   Debug="true"   Codebehind="Image2Access.aspx.cs"   AutoEventWireup="false"   Inherits="eMeng.Exam.Image2Access"   %  
  !DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN"     
  HTML  
  HEAD  
  title上传文件到   Access   数据库/title  
  meta   name="GENERATOR"   Content="Microsoft   Visual   Studio   7.0"  
  meta   name="CODE_LANGUAGE"   Content="C#"  
  meta   name="vs_defaultClientScript"   content="JavaScript"  
  meta   name="vs_targetSchema"   content="http://schemas.microsoft.com/intellisense/ie5"  
  /HEAD  
  body   MS_POSITIONING="GridLayout"  
  form   id="DataGridShowImage"   method="post"   runat="server"   enctype="multipart/form-data"  
  h3   align="center"上传文件到   Access   数据库/h3  
  asp:DataGrid   ID="DG_Persons"   AutoGenerateColumns="False"   Width="99%"   HeaderStyle-BackColor="#ff0000"  
  HeaderStyle-Font-Bold="True"   HeaderStyle-ForeColor="#ffffff"   ItemStyle-BackColor="Beige"   BorderColor="#000000"  
  Runat="server"   HeaderStyle-HorizontalAlign="Center"  
  Columns  
  asp:TemplateColumn   HeaderText="姓名"  
  ItemTemplate  
  asp:Label   Runat="server"   Text='%#   DataBinder.Eval(Container.DataItem,   "PersonName")   %'   ID="Label1"/  
  /ItemTemplate  
  /asp:TemplateColumn  
  asp:TemplateColumn   HeaderText="电子邮件"  
  ItemTemplate  
  asp:Label   Runat="server"   Text='%#   DataBinder.Eval(Container.DataItem,   "PersonEmail")   %'   ID="Label2"/  
  /ItemTemplate  
  /asp:TemplateColumn  
  asp:TemplateColumn   HeaderText="性别"  
  ItemTemplate  
  asp:Label   Runat="server"   Text='%#   DataBinder.Eval(Container.DataItem,   "PersonSex")   %'   ID="Label3"/  
  /ItemTemplate  
  /asp:TemplateColumn  
  asp:TemplateColumn   HeaderText="照片"  
  ItemTemplate  
  asp:Image   Runat=server   ID="Image1"   ImageUrl='%#   FormatURL(DataBinder.Eval(Container.DataItem,   "PersonID"))   %'   /  
  /ItemTemplate  
  /asp:TemplateColumn  
  /Columns  
  /asp:DataGrid  
  b文件名字:/binput   id="MyFileName"   type="text"   runat="server"   NAME="MyFileName"  
  P  
  b文件:/binput   id="MyFile"   type="file"   runat="server"   NAME="MyFile"  
  br  
  br  
  input   type="submit"   value="开始上传"   runat="server"   ID="Submit1"   NAME="Submit1"  
  /P  
  /form  
  /body  
  /HTML  

using   System;  
  using   System.Collections;  
  using   System.ComponentModel;  
  using   System.Data;  
  using   System.Data.OleDb;  
  using   System.Drawing;  
  using   System.Web;  
  using   System.IO;  
  using   System.Web.SessionState;  
  using   System.Web.UI;  
  using   System.Web.UI.WebControls;  
  using   System.Web.UI.HtmlControls;  
   
  namespace   eMeng.Exam  
  {  
  ///   summary  
  ///   Image2Access   的摘要说明。  
  ///   /summary  
  public   class   Image2Access   :   System.Web.UI.Page  
  {  
  protected   System.Web.UI.HtmlControls.HtmlInputText   MyFileName;  
  protected   System.Web.UI.HtmlControls.HtmlInputFile   MyFile;  
  protected   System.Web.UI.HtmlControls.HtmlInputButton   Submit1;  
  protected   System.Web.UI.WebControls.DataGrid   DG_Persons;  
   
  private   void   Page_Load(object   sender,   System.EventArgs   e)  
  {  
  //   在此处放置用户代码以初始化页面  
  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);  
  myCommand.CommandType   =   CommandType.Text;  
  try  
  {  
  myConnection.Open();  
  DG_Persons.DataSource   =   myCommand.ExecuteReader(CommandBehavior.CloseConnection);  
  DG_Persons.DataBind();  
  }  
  catch(OleDbException   SQLexc)  
  {  
  Response.Write("提取数据时出现错误:"   +   SQLexc.ToString());  
  }  
  }  
  protected   string   FormatURL(object   strArgument)  
  {  
  return   "ReadImage.aspx?id="   +   strArgument.ToString();  
  }   

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)  #region   Web   窗体设计器生成的代码   http://sucai.knowsky.com/
  override   protected   void   OnInit(EventArgs   e)  
  {  
  //  
  //   CODEGEN:   该调用是   ASP.NET   Web   窗体设计器所必需的。  
  //  
  InitializeComponent();  
  base.OnInit(e);  
  }  
   
  ///   summary  
  ///   设计器支持所需的方法   -   不要使用代码编辑器修改  
  ///   此方法的内容。  
  ///   /summary  
  private   void   InitializeComponent()  
  {          
  this.Submit1.ServerClick   +=   new   System.EventHandler(this.Submit1_ServerClick);  
  this.Load   +=   new   System.EventHandler(this.Page_Load);  
   
  }  
  #endregion  
   
  private   void   Submit1_ServerClick(object   sender,   System.EventArgs   e)  
  {  
  //得到提交的文件  
  Stream   fileDataStream   =   MyFile.PostedFile.InputStream;  
   
  //得到文件大小  
  int   fileLength   =   MyFile.PostedFile.ContentLength;  
   
  //创建数组  
  byte[]   fileData   =   new   byte[fileLength];  
   
  //把文件流填充到数组  
  fileDataStream.Read(fileData,0,fileLength);  
   
  //得到文件名字  
  string   fileTitle   =   MyFileName.Value;  
   
  //得到文件类型  
  string   fileType   =   MyFile.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);  
   
  System.Data.OleDb.OleDbParameter   paramPersonName   =   new   OleDbParameter("@PersonName",   System.Data.OleDb.OleDbType.VarChar,50);    
  paramPersonName.Value   =   fileTitle;  
  command.Parameters.Add(paramPersonName);  
   
  System.Data.OleDb.OleDbParameter   paramPersonEmail   =   new   OleDbParameter("@PersonEmail",   System.Data.OleDb.OleDbType.VarChar,50);  
  paramPersonEmail.Value   =   "mengxianhui@dotnet.aspx.cc";  
  command.Parameters.Add(paramPersonEmail);  
   
  System.Data.OleDb.OleDbParameter   paramPersonSex   =   new   OleDbParameter("@paramPersonSex",   System.Data.OleDb.OleDbType.VarChar,50);    
  paramPersonSex.Value   =   "男";  
  command.Parameters.Add(paramPersonSex);  
   
  System.Data.OleDb.OleDbParameter   paramPersonImageType   =   new   OleDbParameter("@PersonImageType",   System.Data.OleDb.OleDbType.VarChar,50);  
  paramPersonImageType.Value   =   fileType;  
  command.Parameters.Add(paramPersonImageType);  
   
  System.Data.OleDb.OleDbParameter   paramPersonImage   =   new   OleDbParameter("@PersonImage",   System.Data.OleDb.OleDbType.Binary);    
  paramPersonImage.Value   =   fileData;  
  command.Parameters.Add(paramPersonImage);  
   
  //打开连接,执行查询  
  myConnection.Open();  
  command.ExecuteNonQuery();  
  myConnection.Close();       
    
  }  
  }  
  }

来源:http://www.tulaoshi.com/n/20160219/1617360.html

延伸阅读
在C++ Builder中使用Access数据库既可以在设计期实现,也可以在运行期通过编程实现。下面就以一个简单的例子,来说明在C++ Builder中如何使用Access数据库。 在设计期使用Access数据库 首先新建一个工程,保存单元文件为Unit1.cpp,保存工程文件为Project1.bpr。假设保存工程文件的路径下已有一个Access数据库文件student.mdb,...
什么是数据库事务 数据库事务是指作为单个逻辑工作单元执行的一系列操作。 牐犐柘胪上购物的一次交易,其付款过程至少包括以下几步数据库操作: 更新客户所购商品的库存信息 保存客户付款信息--可能包括与银行系统的交互 生成订单并且保存到数据库中 更新用户相关信息,例如购物数量等等 牐犝常的...
一、密码式 给数据库起一个随机复杂的名称,避免被猜到被下载,这种方式在以前很流行,因为大家都对自己的代码很有自信。但随着错误提示对数据库地址的泄露导致数据库被非法下载,这种方式也就越来越少人用了。 二、"#"式 在数据库名称里加上#号,从URL上请求时#是请求地址和请求参数的一个分隔字符,如果知道了数据库名...
问:我们单位财务以前用的Access是97版,前不久将Access 97升级至2000版本了。升级完成后出现问题,打开原有的文件后系统提示:“Access 2000无法识别旧版本的数据库文件”,请问有没有办法可以修复数据库? 答:你可以利用软件AccessFix(下载地址为http://www.onlinedown.net/soft/16220.htm)来修复数据库。安装完成后点击按钮“Add ...
  近日,本人为了将为公司开发的一个信息管理系统从以前试运行的开发机器上(Windows NT + IIS4.0 + Access)迁移至一台真正的Linux服务器上(Apache1.3.12 + PHP 4.03 + MySQL 3.23.26),其中数据库中的几十个表的内容迁移,开始让我小费了一些周折,从网上也下载了一些MySqL的客户软件或是数据库管理软件,写得较好的软件均有数据迁移功...

经验教程

173

收藏

82
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部