dw读取access中的图片_怎样从Access数据库中读取图片?解决办法

当前位置:我的异常网» C# » 怎样从Access数据库中读取图片?解决办法

怎样从Access数据库中读取图片?解决办法

www.myexceptions.net  网友分享于:2013-03-03  浏览:37次

怎样从Access数据库中读取图片?

//从数据库中获取   二进制大对象   (BLOB)   值

public   void   GetBLOB()

{

System.Data.OleDb.OleDbConnection   conn   =   new

System.Data.OleDb.OleDbConnection();

conn.ConnectionString   =   @ "Provider=Microsoft.Jet.OLEDB.4.0; "   +

@ "Data   source=   C:\Program   Files\Microsoft   Office\OFFICE11

\SAMPLES\ "   +@ "Northwind.mdb ";

OleDbCommand   cmd   =   new   OleDbCommand( "SELECT   类别ID,图片   FROM   类别 ",   conn);

FileStream   fs;                           //   Writes   the   BLOB   to   a   file   (*.bmp).

BinaryWriter   bw;           //   Streams   the   BLOB   to   the   FileStream   object.

int   bufferSize   =   100;                                       //   Size   of   the   BLOB   buffer.

byte[]   outbyte   =   new   byte[bufferSize];     //   The   BLOB   byte[]   buffer   to   be   filled   by   GetBytes.

long   retval;                                 //   The   bytes   returned   from   GetBytes.

long   startIndex   =   0;         //   The   starting   position   in   the   BLOB   output.

string   category_id   =   " ";   //   The   category   id   to   use   in   the   file   name.

conn.Open();

OleDbDataReader   myReader   =   cmd.ExecuteReaderCommandBehavior.SequentialAccess);

while   (myReader.Read())

{

//   Get   the   category   id,   which   must   occur   before   getting   the   logo.

category_id   =   myReader.GetInt32(0).ToString();

Console.WriteLine( "类别ID   =   {0} ",   category_id);

//   Create   a   file   to   hold   the   output.

fs   =   new   FileStream( "category "   +   category_id   +   ".bmp ",   FileMode.OpenOrCreate,   FileAccess.Write);

bw   =   new   BinaryWriter(fs);

//   Reset   the   starting   byte   for   the   new   BLOB.

startIndex   =   0;

//   Read   the   bytes   into   outbyte[]   and   retain   the   number   of   bytes   returned.

文章评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值