图片存入数据库和读取

网上找的资料

1.将图片转换为二进制数组(byte[]);
2.把转换后的二进制数组(byte[])作为参数传递给要执行的Command;
3.执行Command;

转化2进制数组的方法

Code

传递参数
1.SqlServer数据库。SqlServer有Image字段类型,最大可以存储2G的数据。

Code

2.Oracle数据库。在Oracle数据库中我们可以使用BLOB字段类型,最大可以存储4G的数据。

Code

注意:这里我需要说明一下,用Oracle的专用连接传递参数的时候你要小心一点,看看上面的SQL语句你就会知道,要在参数名前加个“:”否则就会出现下面的错误“OracleException: orA-01036: 非法的变量名/编号”。这里需要我们注意一下。另外还有一个地方,当我引用System.Data.OracleClient命名空间的时候默认是没有的,必须添加对System.Data.OracleClient的引用,我记得在VS2003下如果安装了OracleClient是不用添加引用就可以引入的。这里也要留意一下。

3.Access数据库。在Access中我们使用OLE对象字段类型,最大支持1G的数据。

Code

==============
1、数据库读取文件转化成二进制数组
2、二进制数组转化图片

Code

我们获取到了数据,那么把byte[]转换为图片的过程都是一样的。

Code

如果你在开发WinForm应用的话你可以直接把返回结果保存或者显示到PictureBox里,如果你在使用ASP.Net那么你可以在单独的一个页面把图片输出,在另外一个页面把Image控件的ImageUrl属性指向图片输出页面。
比如输出页面getImg.aspx的代码


Code

如果是多张图片

 

Code

 

 

posted on 2009-08-14 10:23  马英超  阅读(1435)  评论(0编辑  收藏  举报