BLOB二进制字段读写,一致是一个十分麻烦的事情,本人在总结前人的基础,特对access,MDB数据库BLOB的读写总结如下:
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
using System.IO;
namespace Book
... {
/**//// <summary>
/// Db_Class 的摘要说明。
/// </summary>
public class Db_Class
...{
private OleDbConnection Conn;
private OleDbCommand cmd;
//构造函数
public Db_Class(String MDBFileName, String Password)
...{
String Str = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Jet Oledb:Database Password={1}", MDBFileName, Password);
Conn = new OleDbConnection(Str); //连接数据库,Password是MDB的密码
//by 闫磊 Email:Landgis@126.com,yanleigis@21cn.com 2007.10.13
}
//打开数据源链接
public OleDbConnection Db_Conn()
...{
Conn.Open();
return Conn;
}
//返回DataReader数据集,下面的SQL可以动态生成
public OleDbDataReader Db_CreateReader(string SQL)
...{
try
...{
cmd = new OleDbCommand(SQL, Conn);
OleDbDataReader Rs = cmd.ExecuteReader();
return Rs;
}
catch (Exception ex)
...{
MessageBox.Show("错误:因" + ex.Message + ",无法执行:" + SQL);
return null;
}
}
//返回DataReader数据集,下面的SQL是存储过程
public OleDbDataReader Db_CommandReader(string SQL)
...{
try
...{
cmd = new OleDbCommand(SQL, Conn);
cmd.CommandType = CommandType.StoredProcedure;
OleDbDataReader Rs = cmd.ExecuteReader();
return Rs;
}
catch