现在的位置: 首页 > 综合 > 正文

.net C#,access,MDB数据库BLOB二进制字段的读写

2013年09月06日 ⁄ 综合 ⁄ 共 4202字 ⁄ 字号 评论关闭

     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 (Exception ex)
            
{
                MessageBox.Show(
"错误:因" + ex.Message + ",无法执行:" + SQL);
                
return null;
            }


        }

        
//返回数据DataSet数据集
        public DataSet Db_CreateDataSet(string SQL)
        
{
            
try
            
{
                cmd 
= new OleDbCommand(SQL, Conn);
                OleDbDataAdapter Adpt 
= new OleDbDataAdapter(cmd);
                DataSet Ds 
= new DataSet();
                Adpt.Fill(Ds, 
"NewTable");
                
return Ds;
            }

            
catch (Exception ex)
            
{
                MessageBox.Show(
"错误:因" + ex.Message + ",无法执行:" + SQL);
                
return null;
            }


        }

        
//返回数据DataReader数据集,不需要返回数据的修改,删除可以使用本函数
        public bool Db_ExecuteNonquery(string SQL)
        
{
            
try
            
{
                Db_Conn();
                cmd 
= new OleDbCommand(SQL, Conn);
                
try
                
{
                    cmd.ExecuteNonQuery();

                    
return true;
                }

                
catch (Exception ex)
                
{
                    MessageBox.Show(
"错误:因" + ex.Message + ",无法执行:" + SQL);
                    
return false;
                }

            }

            
finally
            
{

                
this.close();
            }


        }

        
//返回数据DataReader数据集,不需要返回数据的修改,删除可以使用本函数
        public bool Db_ExecuteNonquery(string SQL, bool Connect)
        
{
            
try
            
{
                
if (Connect)
                    Db_Conn();
                cmd 
= new OleDbCommand(SQL, Conn);
                
try
                
{
                    cmd.ExecuteNonQuery();

                    
return true;
                }

                
catch (Exception ex)
                
{
                    MessageBox.Show(
"错误:因" + ex.Message + ",无法执行:" + SQL);
                    
return false;
                }

            }

            
finally
            
{
                
if (Connect)
                    
this.close();
            }


        }

        
//返回数据DataReader数据集,返回数据
        public String Db_Executequery(string SQL)
        
{
            
try
            
{
                Db_Conn();
                cmd 
= new OleDbCommand(SQL, Conn);
                
try
                
{
                    
return cmd.ExecuteScalar().ToString();


                }

                
catch (Exception ex)
                
{
                    MessageBox.Show(
"错误:因" + ex.Message + ",无法执行:" + SQL);
                    
return "";
                }

            }

            
finally

抱歉!评论已关闭.