有时候我们需要把图片、文档、dll文件、等等,上传的数据库,然后当需要的时候再从数据库中读取到本地,下面我以上传图片为例,讲解一下如何把本地的一张图片上传到数据库,然后再从数据库下载到本地。
工具:VS2010,Sql Server 2000。语言:C#。
像这样的文件,我们上传的时候都是以二进制的形式操作,在数据库中对应的数据类型为image,我们只需要把本地文件转为二进制形式,然后以image数据保存到数据库就行。
Sql Server 2000自带的数据库Northwind,有一张表Categories,其中有一个字段Picture为image类型,我们就以它为例,上传一张图片到这个表中。
1 打开vs2010新建一个项目“Windows窗体应用程序”,在窗体Form1上放置两个按钮,分别改变文本为"上传“ 和 "下载",添加对应的单击事件。
2 新建一个类,这个类用来封装对文件上传和下载的功能调用,然后我们可以在前面的单击事件中调用这个方法。下面是这个类的完整定义:
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Data.SqlClient;usingSystem.Windows.Forms;usingSystem.IO;usingSystem.Data;namespacetest
{classUpDownLoad
{public string categoryName; //下载时可以再外部指定文件名
private stringdescription;private byte[] picture;public SqlConnection