c#将文件保存到数据库中或者从数据库中读取文件

c#将文件保存到数据库中或者从数据库中读取文件

ID:34722015

大小:79.18 KB

页数:3页

时间:2019-03-10

c#将文件保存到数据库中或者从数据库中读取文件_第1页
c#将文件保存到数据库中或者从数据库中读取文件_第2页
c#将文件保存到数据库中或者从数据库中读取文件_第3页
资源描述:

《c#将文件保存到数据库中或者从数据库中读取文件》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、首先,介绍一下保存文件到数据库中。将文件保存到数据库中,实际上是将文件转换成二进制流后,将二进制流保存到数据库相应的字段中。在SQLServer中该字段的数据类型是Image,在access中该字段的数据类型是OLE对象。//保存文件到SQLServer数据库中FileInfofi=newFileInfo(fileName);FileStreamfs=fi.OpenRead();byte[]bytes=newbyte[fs.Length];fs.Read(bytes,0,Convert.ToInt32(fs.Leng

2、th));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.Pa

3、rameters.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=Com

4、mandType.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="updat

5、et_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

6、("\")-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.PostedF

7、ile.ContentLength;byte[]fileContent=newbyte[intFileSize];intintStatus=fileStream.Read(fileContent,0,intFileSize);//文件读取到fileContent数组中myCommand.Parameters["@attachfile"].Value=((byte[])fileContent);fileStream.Close();myCommand.Connection.Open();myCommand.Execut

8、eNonQuery();myCommand.Connection.Close();代码中的fileName是文件的完整名称,tableName是要操作的表名称,fieldName是要保存文件的字段名称。两段代码实际上是一样的,只是操作的数据库不同,使用的对象不同而已。接着,在说说将文件从数据库中读取出来,只介绍从SQLServer中读取。Sql

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。