如何利用数据库储存图档

2016-01-29 16:13 9 1 收藏

如何利用数据库储存图档,如何利用数据库储存图档

【 tulaoshi.com - SQLServer 】

  在 SQL Server 當中有一款資料類型號作 Image , 除了可以儲存圖檔外它還可以儲存大型的二進位資料檔, 對這一個欄位大部分的人是聽過但是不知影按怎來用, 今日的文章就要來討論如何將圖檔存入去資料庫

準備工作

為了降低這篇文章的篇幅及複雜度, 咱決定借用 Upload 元件來替我們完成檔案上傳的工作, 所要使用的是 Dundas 所提供免錢的上傳元件, 請到下底的網址下載 Dundas Upload 元件並安裝

http://www.dundas.com/
創造資料表

在這個例咱要用到 SQL 內建的 Pubs 資料庫來作測試, 請打開 QA 然後執行下底的創造資料表指令, 所要建立的資料表中一個欄位是紀錄檔案的 Content-Type, 另一個則是儲存圖檔

Use Pubs
Create Table ImgData
(
  ImgID Int Identity Not Null Primary Key,
  ContentType VarChar(20),
  FileData Image
)

HTML 表單部分

現在來看看 HTML 表單的部分, 因為是用做檔案上傳因此用 enctype="multipart/form-data" , 不過要注意的是一但使用了 form-data 後表單資料的取得也就不能再用 Request.Form, 因為這不是這篇文章的重點所以在這就不多做解釋, 請將下底的碼存成 insert.htm

<html
<head
<title資料庫存入圖檔</title
</head
<body
<form method="POST" enctype="multipart/form-data" action="Insert.asp"
  <table border="0" align="center"
    <tr
      <tdFile :</td
      <td<input type="file" name="file" size="40"</td
    </tr
    <tr
      <td</td
      <td<input type="submit" value=" 進行上傳 "</td
    </tr
  </table
</form
</body
</html

程式碼

擱來看麥 ASP 的部分, 請將下底的碼存成 insert.asp

<%
Response.Buffer = True
ConnStr = "Provider=SQLOLEDB;" _
  & "Data Source=你的電腦名稱;" _
  & "Initial Catalog=Pubs;" _
  & "User Id=sa;" _
  & "Password=你的密碼"
'建立 oUpload 上傳物件
Set oUpload = Server.CreateObject("Dundas.Upload.2")
'在使用 oUpload 集合 (Collection) 前, 要先呼叫 Save 或 SaveToMemory 方法
oUpload.SaveToMemory
Set oRs = Server.CreateObject("Adodb.Recordset")
oRs.Open "ImgData", ConnStr, 2, 3
oRs.AddNew
'呼叫 oUpload 物件的 ContentType, Binary 屬性, 已取得我們要的資料
oRs("ContentType").Value = oUpload.Files(0).ContentType
oRs("FileData").Value = oUpload.Files(0).Binary
oRs.Update
oRs.Close
Set oRs = Nothing
%

頂高的程式假設你只上傳一個檔案, 所以使用 oUpload.Files(0), 如果你一次上傳一個以上的檔案, 你可以將程式小改為

...
oRs.Open ...
For Each oFile In oUpload.Files
  If InStr(1,oFile.ContentType,"image") < 0 Then
    oRs.AddNew
    oRs("ContentType").Value = oFile.ContentType
    oRs("imgdata").Value = oFile.Binary
  End If
Next
oRs.Update
...

現在你可以利用瀏覽器開啟 Insert.htm 來進行上傳圖檔到資料庫的動作, 執行完後你可以 Select ImgData 資料表, 應該是出現一筆資料, 不過 FileData 欄位應該是看不懂的啦!

今日的文章就先介紹到這, 下一篇文章再來介紹如何將圖檔從資料庫中拉出來!

希望這篇文章對你有幫助!


 

来源:http://www.tulaoshi.com/n/20160129/1497870.html

延伸阅读
面向:初学者。 目的:如果一年的数据较多,希望在分年的数据库中保存数据。 知识点: 1.数据库拆分。 2.文件查找技术。 3.文件复制。 4.链接表的刷新。 步骤: 1.将一些每年都要使用(修改,添加等)的表的名称前两个字母改为共同的(如:Or_业务人员名单,Or_收货人名单等),注意不要是“MS”,“SW”,“US”等系统要使用的字母。 2.将...
Delphi 是具可视化界面的面向对象编程语言,它以其功能强大、简便易用等诸多特性,深受编程人员的欢迎。Delphi 中提供了数据库引擎 BDE(Borland Database Engine),并内含众多的数据库调用构件,为编程人员开发客户/服务器应用程序提供了方便。通常情况下,利用 Delphi 开发数据库应用程序,可以使用TTable、TDataSource、TDBEdit、TDBNavi...
1、使用SHOW语句找出在服务器上当前存在什么数据库: mysql SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | +----------+ 3 rows in set (0.00 sec)  2、创建一个数据库abccs mysql CREATE DATABASE abccs; 注意不同操作系统对大小写的敏感。 3、选择你所创建的数据库...
标签: SQLServer
    与没有数据库的网站相比,数据库的存取会降低你的系统性能。但是大多数情况下,网站和数据库有密不可分的关 系,正是数据库给站点提供了大容量、多样性、个性化等特色,并实现了很多特殊的功能。     1不要忘记给数据库做索引。合理的索引能立即显著地提高数据库整个系统的性能。可以参考有关...
标签: MySQL mysql数据库
因工作需要,要将存放在sql server数据库中的数据全部导入到mysql数据库中,在网上搜集相关资料,找到两种方法,现在分别谈谈对他们的看法。 第一种是安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数据库中的...

经验教程

333

收藏

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