程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 將文字內容和圖片插入到 Access 數據庫

將文字內容和圖片插入到 Access 數據庫

編輯:.NET實例教程

     鑒於問的人較多,先貼出代碼
  
  Image2Access.ASPx
  
  <%@ 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>
 &nbsp; <ASP:TemplateColumn HeaderText="照片">
   <ItemTemplate>
   <ASP:Image Runat=server ID="Image1"
   ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "PersonID")) %>' />
   </ItemTemplate>
   </ASP:TemplateColumn>
  </Columns>
  </ASP:DataGrid>
  <b>文件名字:</b><input id="MyFileName" type="text" runat="server" NAME="MyFileName">
  <P>
  <b>文件:</b><input id="MyFile" type="file" runat="server" NAME="MyFile">
  <br>
  <br>
  <input type="submit" value="開始上傳" runat="server" ID="Submit1" NAME="Submit1">
  </P>
  </form>
  </body>
  </Html>
  Image2Access.ASPx.cs
  
  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();
  }
  
  #region Web 窗體設計器生成的代碼
  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 = "[email protected]";
  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();
  
  
  }
  }
  }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved