日期:2011-08-16  浏览次数:20456 次

本文通过一个实例概要讲解如何在ASP.NET程序中配合SQL Server2000进行word文件的存储和调用过程(没有使用VBA )。

(1) 建立数据库

首先,我们在数据库中建立一个表,表中有三个字段,fileName(varchar,50),postTime(datetime,8), fileContent(image,16),分别存储文件名称,上传时间和word文件的具体内容,其中fileName为主键。具体的SQL脚本如下:

CREATE TABLE [dbo].[word] (

       [fileName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,

       [postTime] [datetime] NOT NULL ,

       [fileContent] [image] NOT NULL

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]


(2) 上传并存储word文件

在VS.NET中建立一个ASP.NET web应用程序,在界面内加入如下控件

控件类型

ID

Text

说明

Label

Label1

请输入文档的标题

 

Label

Label2

请选择具体文档

 

File Field

File1

 

上传控件(要将此HTML控件转化为服务器控件)

TextBox

name_TextBox

 

用于录入文档标题

Button

Btn_OK

上传文件

 

Button

Btn_get

读取文件

 

HyperLink

HyperLink1

打开

用于打开word文档

上传文件时首先通过上传控件找到所需上传的文件,然后获取文件的大小,最后以流的形式写入数据库,具体代码为:

private void Btn_OK_Click(object sender, System.EventArgs e)
         {
              string name=name_TextBox.Text;
            //接收上传文件
             Stream fileStream=File1.PostedFile.InputStream; 
              //获取上传文件字节的大小
              int length=File1.PostedFile.ContentLength; 
              byte[] wordData=new byte[length];
              //从流中读取字节并写入wordData
              int n=fileStream.Read(wordData,0,length);
              //获取当前时间
              DateTime time=DateTime.Now;
            &nbs