ASP.NET向SQL Server2008匯入檔案例項操作(轉)
在Microsoft SQL Server2008以後的版本中,將刪除image資料型別。在新的開發工作中將不適用此資料型別,並打算修改當前使用此資料型別的應用程式,改
用varbinary(max)資料型別。ASP.NET向SQL Server匯入檔案主要用到FileUpload控制元件的FileBytes屬性。該屬性從FileUpload控制元件所指定的檔案返回一個位元組陣列
。
1.資料庫準備
為了方便大家能夠理解,這裡我們只設計兩個欄位,一個是檔案型別欄位,欄位名為FileType,另一個是存放檔案內容欄位,欄位名為FileContent。建立資料庫
,資料庫名為VarFile,語句如下:
CREATE DATABASE VARFILE
GO
建立表,表名為FileInOut,語句如下:
USE VARFILE
GO
CREATE TABLE FILEINTOU
(
FileType nvarchar(30) not null,
FileContent varbinary(max) null
)
2.新增控制元件
執行VS2008並新建一個網站,在頁面Default.aspx中新增一個FileUpload控制元件,ID 為FileUpload1.同時新增三個Button按鈕,ID分別為fileUp和fileLoad。Text屬性
分別設定為“上傳檔案”和“下載檔案”。
3.新增程式碼
(1)新增名稱空間,因為和SQL Server資料庫連線,所以新增using System.Data.Sqlclient和using System.Data名稱空間。又因為要設定輸出流的HTTP的字符集
為"gb2312"字元編碼,所以新增using System.Text名稱空間。同時又因為要把匯出檔案強型別化為字串,所以新增using System.Collections.Specialized命名
空間。
(2)新增“上傳檔案”按鈕的事件程式碼。當單擊“上傳檔案”按鈕後,獲取FileUpload控制元件所選擇的檔案的檔案型別以及檔案的位元組陣列插入資料庫中。切換到設計視
圖,雙擊“上傳檔案”按鈕,新增"上傳檔案"按鈕事件程式碼,程式碼如下:
protected void fileUp_Click(object sender,EventArgs e)
{
if(FileUpload1.FileName==string.Empty)
{
Response.Write("
return;
}
string mailto:connstr=@%22Data Source=69F638102711447\SQL2008;Initial Catalog=VarFile;Integrated Security=Ture"; //資料庫連線字串
string the Selected=FileUpload1.FileName; //獲取上傳檔案的字尾名
string extension=theSelected.Substring(theSelected.LastIndexOf(".")).ToLower();
if(CheckFileType(extension)) //如果有指定的檔案型別
{
string contentType=GetContentType(extension);
string sqlstr="insert into FileInOut values(@FileType,@FileCount)"; //上傳檔案的SQL語句
string sqlstrclear="truncate table FileInOut"; //清空資料庫SQL語句
SqlConnection con=new SqlConnection(connstr); //例項化資料庫連線物件
SqlCommand cmd=new SqlCommand(sqlstr,con); //例項化上傳檔案SQL命令
SqlCommand cmdclear=new SqlCommand(sqlstrclear,con); //例項化清空資料庫SQL命令
//定義問價型別引數
cmd.Parameters.Add(new SqlParameter("@FileType”,SlqDbType.NvarChar,30));
cmd.Parameters["@FileType"].Value=contentType; //定義檔案內容引數
cmd.Parameters.Add(new SqlParameter("@FileCount",SqlDbType.NVarChar,30)); //將檔案轉化為位元組陣列作為@FileCount的值
cmd.Parameters["@FileCount"].Value=FileUpload1.FileBytes;
con.Open();
cmdclear.ExecuteNonQuery(); //執行清空資料庫命令
cmd.ExecuteNonQuery(); //執行上傳檔案命令
}
}
(3)新增獲取檔案型別和獲得檔案匯出方式的函式方法。首先檢視所要上傳檔案型別是否在指定問價型別內,如果在,則可以直接匯入檔案,然後根據檔案型別
獲取此檔案匯出方式並存放在FileType欄位中,程式碼如下: http://www.hqqrc.com/ http://www.xuebiyou.com/ http://www.0372jiajiao.com/ (裝載請保留站長連結,謝謝)
public static bool CheckFileType(string type)
{
StringDictionary sd=new StringDictionary(); //例項化集合StringDictionary類
sd.Add(".doc","application/msword");
sd.Add(".ppt","application/vnd.ms-powerpoint");
sd.Add(".xsl","application/vnd.ms-excel");
sd.Add(".rtf","application/msword");
sd.Add(".html","text/html");
sd.Add(".htm","text/html");
sd.Add(".txt","text/plain");
sd.Add(".pdf","application/pdf");
return sd.ContainsKey(type); //確定StringDictionary是否包含特定鍵
}
public static string GetContentType(string extension) //獲取輸出檔案方式
{StringDictionary sd=new StringDictionary();
sd.Add(".doc","application/msword");
sd.Add(".ppt","application/vnd.ms-powerpoint");
sd.Add(".xsl","application/vnd.ms-excel");
sd.Add(".rtf","application/msword");
sd.Add(".html","text/html");
sd.Add(".htm","text/html");
sd.Add(".txt","text/plain");
sd.Add(".pdf","application/pdf");
return sd[extension]; //返回對應鍵的值
}
(4)上傳檔案,選擇一個pdf檔案,單擊"上傳檔案"按鈕後,開啟資料庫中的FileInOut表,如圖所示可以看到。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-673728/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 向mysql中匯入.sql檔案MySql
- 原生PHP網頁匯出和匯入excel檔案例項PHP網頁Excel
- mysql 匯入匯出 sql檔案MySql
- 轉java操作excel匯入匯出JavaExcel
- asp.net 操作Excel表資料匯入到SQL Server資料庫ASP.NETExcelSQLServer資料庫
- layui 表格操作匯入檔案UI
- ASP.NET MVC 匯入Excel檔案ASP.NETMVCExcel
- 【匯入匯出】sqlldr 匯入案例SQL
- .sql檔案匯入到sql server中SQLServer
- qt 寫入xml檔案例項QTXML
- 限定filesize的資料泵匯入匯出操作案例
- Navicat如何匯入和匯出sql檔案SQL
- (轉)excel和sql server的匯入匯出ExcelSQLServer
- ubuntu 下mysql匯入和匯出.sql檔案UbuntuMySql
- SQL Server2008 clear歷史備份檔案 Management Studio操作?SQLServer
- 匯入sql檔案出現亂碼SQL
- PHP 匯入資料庫 sql 檔案PHP資料庫SQL
- ASP.NET Excel匯入和匯出ASP.NETExcel
- navlicat 匯入匯出SQLSQL
- Oracle IMPDP匯入資料案例之注意事項(undo/temp)Oracle
- Oracle:從SQL檔案批量匯入資料OracleSQL
- SQL Server資料匯入匯出工具BCP詳解(轉)SQLServer
- 使用SQL*Loader匯入CLOB和BLOB資料使用案例SQL
- SQLSERVER匯出TXT文字檔案,ORACLE SQL LOADER匯入TXT文字檔案SQLServerOracle
- vue 匯入.md檔案(markdown轉HTML)VueHTML
- 完全解除安裝sql server2008 《轉》SQLServer
- MySQL匯入SQL檔案及常用命令MySql
- 匯入xml檔案到SQL Server 2005XMLSQLServer
- sql server2008資料檔案遷移SQLServer
- 從SQL Server匯出txt檔案匯入Oralce遇到毫秒問題SQLServer
- 使用xml檔案,做資料的匯入,匯出 (轉)XML
- 純真QQIP庫匯入到SQL Server例項詳解SQLServer
- MySQL匯入匯出檔案檔案MySql
- SQL語句匯入匯出大全SQL
- SQL Server資料匯入匯出技術概述與比較(轉)SQLServer
- 使用curl向Solr匯入json檔案(Windows、Linux均可)SolrJSONWindowsLinux
- oracle匯入dmp檔案win10怎麼操作_win10系統oracle如何匯入dmp檔案OracleWin10
- Asp.net中關於上傳檔案的各項基本操作ASP.NET