數據表結構
現在,我們來看存放文件的數據庫表結構,這裡,我們給出建立表的標准SQL語句:
CREATE TABLE tblBooksUpload
(
DocID int NOT NULL IDENTITY Primary Key ,
DocTitle varchar (200) ,
Doc image,
DocType varchar (50) ,
Entrydate datetime Default GetDate()
)
以上的語句中,我們看到數據表tblBooksUpload包含五個字段:
·字段DocID是表的關鍵字段,數據記錄編號;
·字段DocTitle是用來簡單說明上傳文件的,如果上傳文本文件,我們一般將其設置為文件標題,圖像、程序等,就設置為圖像、程序的簡單介紹;
·字段Doc是用來存放我們上傳的文件的字段,注意,這裡將Doc字段的設置為Image類別;
·字段DocType用來保存我們上傳文件的類型,可能我們奇怪為什麼要這個字段呢?其實,這個字段是很重要的,在用戶從數據庫取得數據的時候,這個字段將用來指定數據字段Doc中數據的類別,然後,浏覽器根據這個字段來決定呈現給用戶的數據;
·字段DateTime是一個時間字段,我們可以看到該字段的值取自服務器的當前日期。
下面是插入數據的存儲過程,我們來看具體代碼:
CREATE PROCEDURE uSP_BooksUploadFile
@Title varchar(200),
@Doc image,
@DocType varchar(4)
AS
INSERT tblBooksUpload(DocTitle,Doc,DocType)
VALUES (@Title,@Doc,@DocType)
GO
上傳文件的步驟
現在,我們先從文字上了解一下上傳文件到數據庫的具體步驟,再從代碼上來實現:
首先,從客戶端取得上傳的文件,然後,我們將它放入數據流;
第二,服務器端讀取數據流,然後將其保存到緩存;
第三,將緩存數據保存到數據庫;
現在,我們一步步來看怎樣在程序中實現這些功能。