在C#里怎么样将一个二进制文件存到数据库里,然后再取出来?

问题描述

在C#里怎么样将一个二进制文件存到数据库里,然后再取出来?

解决方案

解决方案二:
以Access为例:将字段设置为OLE对象.然后:privatevoidSaveFile(){Form1frm=newForm1();FileStreamfilestream=newFileStream(Application.StartupPath+"\a.txt",FileMode.Open,FileAccess.Read);BinaryReaderfilerd=newBinaryReader(filestream,Encoding.Default);byte[]filebyte=newbyte[filestream.Length];filerd.Read(filebyte,0,(int)filestream.Length);frm.OpenConn();OleDbCommandcomm=newOleDbCommand("insertintofile(id,file)Values(@fid,@file)",frm.dbconn);comm.Parameters.AddWithValue("@fid","0001");comm.Parameters.AddWithValue("@file",DBNull.Value);comm.Parameters["@file"].Value=filebyte;comm.ExecuteNonQuery();}privatevoidReadFile(){Form1frm=newForm1();frm.OpenConn();OleDbCommandcomm=newOleDbCommand("select*fromfile",frm.dbconn);OleDbDataAdapterda=newOleDbDataAdapter(comm);DataSetds=newDataSet();da.Fill(ds);byte[]filebyte=(byte[])ds.Tables[0].Rows[0]["File"];//System.Text.Encodingmycode=newSystem.Text.Encoding();this.richTextBox1.AppendText(Encoding.Default.GetString(filebyte));}

解决方案三:
我打开数据库(dconn,OpenConn();)已经在form1中定义了.这些地方换成你自己的代吗,测试通过.
解决方案四:
我用的时vs2003平台,SQL2000数据库,想把图片显示到image控件中,麻烦你了。
解决方案五:
搞了半天,不是文件是图片.首先将字段改为image,

和上面的大致相同.privatevoidSaveFile(){Form1frm=newForm1();FileStreamfilestream=newFileStream(Application.StartupPath+"\a.bmp",FileMode.Open,FileAccess.Read);byte[]filebyte=newbyte[filestream.Length];filerd.Read(filebyte,0,(int)filestream.Length);frm.OpenConn();SqlCommandcomm=newOleDbCommand("insertintofile(id,file)Values(@fid,@file)",frm.dbconn);comm.Parameters.AddWithValue("@fid","0001");comm.Parameters.AddWithValue("@file",DBNull.Value);comm.Parameters["@file"].Value=filebyte;comm.ExecuteNonQuery();}privatevoidReadFile(){Form1frm=newForm1();frm.OpenConn();SqlCommandcomm=newOleDbCommand("select*fromfile",frm.dbconn);SqlDataAdapterda=newOleDbDataAdapter(comm);DataSetds=newDataSet();da.Fill(ds);byte[]filebyte=(byte[])ds.Tables[0].Rows[0]["File"];MemoryStreammystream=newMemoryStream(filebyte);this.pictureBox1.Image=Image.FromStream(mystream);}

解决方案六:
2003平台将AddWithValue改成Add;
解决方案七:
谢谢!
解决方案八:
接分
解决方案九:
引用4楼baihe_591的回复:

搞了半天,不是文件是图片.C#code首先将字段改为image,和上面的大致相同.C#codeprivatevoidSaveFile(){Form1frm=newForm1();FileStreamfilestream=newFileStream(Application.StartupPath+"\a.bmp",FileMode.Open,FileAccess.Read);byte[]filebyte=newbyte[filestream.Length];filerd.Read(filebyte,0,(int)files…

时间: 2024-07-29 06:37:35

在C#里怎么样将一个二进制文件存到数据库里,然后再取出来?的相关文章

oracle字符集是ZHS16GBK Linux环境变量zh_CN.G130,存到数据库里是乱码

问题描述 oracle字符集是ZHS16GBK Linux环境变量zh_CN.G130,存到数据库里是乱码 汉字存进数据库里是乱码,但程序在写LOG日志时能够输出正确的中文 在前端和其他系统交互中的数据也是中文没有错误,谁能帮忙解决一下?

软件-求大神帮忙,将一段民乐曲子的音频切割成一个一个的单个音符,然后存到数据库里

问题描述 求大神帮忙,将一段民乐曲子的音频切割成一个一个的单个音符,然后存到数据库里 求大神帮忙,想把一段民乐的曲子分割成一个一个的音符,然后把单音存到数据库里,有没有专门的软件可以做到这种切割吗,或者用某种函数可以识别出音符之间的空隙,然后切割出来呢,谢谢! 解决方案 Matlab可以把音乐量化 ,但是音乐节拍是不好掌握的,因为有很多种乐器,可以大致识别,但是肯定和实际的乐谱有很大差异,因为声音在计算机里面是以电流的形式表达的,而不是以物理世界的振幅和频率表示的,相关的资料的话你可以找一下刘衍

一个页面中的表格里需显示两个数据库里数据

问题描述 现在我需要一个页面上显示2个数据库里的数据,A数据库里的a表和B数据库里的b表,a.no=b.no,这就是2个表的关联关系我现在需要把这两个表的信息一一对应的显示在一个页面的表格上求指导,最好代码示例下有没有谁做过类似的例子,我是.NETC#做的数据库是SQL2000如果做过可以发我邮件caoyao0622@126.con 解决方案 解决方案二:好像要用到linkedserver,你可以去mssql版区问一下.也可以在csdn搜索一下,应该很多.解决方案三:innerjoinselec

ashx 文件里怎么写代码读取数据库里的WORD等文件并显示呢?

问题描述 ashx文件里怎么写代码读取数据库里的WORD等文件并显示呢?能举个简单的例子?谢谢 解决方案 解决方案二:和普通的cs文件一樣處理解决方案三:我用.NET1.0时的代码写,但没办法显示

用PHP将一个数组存到数据库的一个字段的方法

要把数一个数组,存到数据库的一个字段中,有两种方法,一种是用序列化函数serialize($arr);还有一种是用php的json扩展自带的函数json_encode($arr);如果json_encode对含有中文的字符进行编码时,会自动转换成unicode编码.就像这样:a:2:{s:4:"code";s:1:"1″;s:3:"msg";s:9:"PHP日志";},虽然js上能正常处理,但是看起来还是不那爽,在PHP的官方网站上面找

js mysql-怎么把js中获得的数据存到数据库

问题描述 怎么把js中获得的数据存到数据库 ozan.onclick=function(){ var val=0; if(count==0){ oren.innerHTML=val+1+""人觉得很赞""; count=15; flag=setInterval(done1000); }else{ 我要把这个val值存到数据库,下次再取 受教了,各位大神们 解决方案 1,ajax把val传到后端(phpjava等),在后端写入数据库:2,如果用node.js可以直接写

三种东西永远不要放到数据库里

改进你的系统的最好的方法是先避免做"蠢事". 我并不是说你或你开发的东西"蠢",只是有些决定很容易被人们忽略掉其暗含的牵连, 认识不到这样做对系统维护尤其是系统升级带来多大的麻烦. 作为一个顾问,像这样的事情我到处都能见到,我还从来没有见过做出这样的决定的人有过好的结果的. 图片,文件,二进制数据 既然数据库支持BLOB类型的数据,把文件塞进BLOB字段里一定没有错了!?错,不是这样的! 别的先不提,在很多数据库语言里,处理大字段都不是很容易. 把文件存放在数据库里

三种东西永远不要放到mysql数据库里_Mysql

图片,文件,二进制数据永远不要放到mysql数据库里. 很多人会觉得既然数据库支持BLOB类型的数据,把文件塞进BLOB字段里一定没有错了!?错,不是这样的! 别的先不提,在很多数据库语言里,处理大字段都不是很容易.把文件存放在数据库里有很多问题: 1.对数据库的读/写的速度永远都赶不上文件系统处理的速度2.数据库备份变的巨大,越来越耗时间3.对文件的访问需要穿越你的应用层和数据库层这后两个是真正的杀手.那么把图片缩略图存到数据库里?结果是,你不能使用nginx或其它类型的轻量级服务器来处理它们

我想把数据库里取出的字符串给分字段给下拉列表

问题描述 我想问一下.我把三个下拉列表的数据存放到一个字符串里的形式存放到数据库里.读取出来的时候是在分别给三个下拉列表.就2008年1月12日,把2008给第一个下拉列表,把1给第二个,把12给第三个 解决方案 解决方案二:用循环截取,然后分别放在不同的数组中应该可以的解决方案三:在数据库读取时分别截取年/月/日为不同字段,然后下拉控件的DataSource,DisplayMember,ValueMember指向各自的字段解决方案四:楼上正解,取的时候SELECTYEAR(时间)as年,mon