预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

首先,介绍一下保存文件到数据库中。 将文件保存到数据库中,实际上是将文件转换成二进制流后,将二进制流保存到数据库相应的字段中。在SQLServer中该字段的数据类型是Image,在access中该字段的数据类型是OLE对象。 //保存文件到SQLServer数据库中 FileInfofi=newFileInfo(fileName); FileStreamfs=fi.OpenRead(); byte[]bytes=newbyte[fs.Length]; fs.Read(bytes,0,Convert.ToInt32(fs.Length)); SqlCommandcm=newSqlCommand(); cm.Connection=cn; cm.CommandType=CommandType.Text; if(cn.State==0)cn.Open(); cm.CommandText="insertinto"+tableName+"("+fieldName+")values(@file)"; SqlParameterspFile=newSqlParameter("@file",SqlDbType.Image); spFile.Value=bytes; cm.Parameters.Add(spFile); cm.ExecuteNonQuery() //保存文件到Access数据库中 FileInfofi=newFileInfo(fileName); FileStreamfs=fi.OpenRead(); byte[]bytes=newbyte[fs.Length]; fs.Read(bytes,0,Convert.ToInt32(fs.Length)); OleDbCommandcm=newOleDbCommand(); cm.Connection=cn; cm.CommandType=CommandType.Text; if(cn.State==0)cn.Open(); cm.CommandText="insertinto"+tableName+"("+fieldName+")values(@file)"; OleDbParameterspFile=newOleDbParameter("@file",OleDbType.Binary); spFile.Value=bytes; cm.Parameters.Add(spFile); cm.ExecuteNonQuery() //保存客户端文件到数据库 sql="updatet_mailsetattachfilename=@attachfilename,attachfile=@attachfilewheremailid="+mailid; myCommand=newSqlCommand(sql,newSqlConnection(ConnStr)); stringpath=fl_name.PostedFile.FileName; stringfilename=path.Substring(path.LastIndexOf("\\")+1,path.Length-path.LastIndexOf("\\")-1); myCommand.Parameters.Add("@attachfilename",SqlDbType.VarChar); myCommand.Parameters["@attachfilename"].Value=filename; myCommand.Parameters.Add("@attachfile",SqlDbType.Image); StreamfileStream=fl_name.PostedFile.InputStream; intintFileSize=fl_name.PostedFile.ContentLength; byte[]fileContent=newbyte[intFileSize]; intintStatus=fileStream.Read(fileContent,0,intFileSize);//文件读取到fileContent数组中 myCommand.Parameters["@attachfile"].Value=((byte[])fileContent); fileStream.Close(); myCommand.Connection.Open(); myCommand.ExecuteNonQuery(); myCommand.Connection.Close(); 代码中的fileName是文件的完整名称,tableName是要操作的表名称,fieldName是要保存文件的字段名称。 两段代码实际上是一样的,只是操作的数