C#+Oracle,怎样将一个表中的图片读取出来再存储到另一个表中?

Zhen (Evan) Wang 2011-08-18 02:01:08
如题,图片是以文件的形式存储在oracle数据库中的。谢谢
...全文
97 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zhen (Evan) Wang 2011-08-19
  • 打赏
  • 举报
回复
本来存在数据库中的就是二进制啊,取出来了,再存,直接sql语句是ok的,但是,我定义的数据结构体中,picture字段定义的为byte[],取出来后也是byte[],当直接把byte[]复制给byte[]时,就会报错。现在解决了,办法就是“骏马”兄的”直接sql语句“。之前写的代码都被我舍弃了。心疼啊。

还有一种解决方法是,当浏览图片的时候,直接下载到本地,然后再利用filestream fs=new filestream(filePath,FileMode.Open,FileAccess.Read);byte[] file=new byte[fs.Length];fs.Read(file,0,file.Length);fs.Close();thisRecord.Picture=new MemoryStream(file);存储到了数据库中。(我采用的这个方法,虽然有点笨,还占资源,为了之前的代码,我忍了,o(╯□╰)o)。
结贴给分。
Zhen (Evan) Wang 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mjp1234airen4385 的回复:]
直接写sql语句插入不行吗?
[/Quote]
恩,我知道可以用的,就是不忍心舍弃之前写的代码啊,丢掉了心疼
Zhen (Evan) Wang 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 happy09li 的回复:]
将图片转换成二进制再存入数据库。。。
[/Quote]
本来存在数据库中的就是二进制啊,取出来了,再存,直接sql语句是ok的,但是,我定义的数据结构体中,picture字段定义的为byte[],取出来后也是byte[],当直接把byte[]复制给byte[]时,就会报错。现在解决了,办法就是“骏马”兄的”直接sql语句“。之前写的代码都被我舍弃了。心疼啊。
mjp1234airen4385 2011-08-18
  • 打赏
  • 举报
回复
直接写sql语句插入不行吗?
心聆 2011-08-18
  • 打赏
  • 举报
回复
1、将你的图片信息转换成数据流
2、再将数据流转换成二进制的方式
3、最后转换后的结果存入导数据库中
熙风 2011-08-18
  • 打赏
  • 举报
回复
将图片转换成二进制再存入数据库。。。

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧