qingtianyzl

晴天blog(QQ:14493558)
  博客园  :: 新随笔  :: 联系 :: 管理

引用数据库连接类实例

Posted on 2007-05-28 11:30  晴天  阅读(306)  评论(0)    收藏  举报


 程序代码
using System;
using System.Data;
using System.Data.OleDb;
namespace Power_AppCode
{
 
public class DataBase
 
{
  
// 连接数据源
  private OleDbConnection conn = null;
  
/// <summary>
  
/// 数据源
  
/// </summary>
  
/// <param name="conStr">数据源连接字符串</param>

  public DataBase(string conStr)
  
{
   conn 
= new OleDbConnection(conStr);
  }

  
/// <summary>
  
/// 根据SQL查询返回DataSet对象,如果没有查询到则返回NULL
  
/// </summary>
  
/// <param name="sql">查询语句</param>
  
/// <returns>DataSet</returns>

  public DataSet GetDataSet(string sql)
  
{
   DataSet ds 
= new DataSet();
   
try
   
{
    OleDbCommand cmd 
= new OleDbCommand(sql, conn);
    cmd.CommandTimeout 
= 20;
    System.Data.OleDb.OleDbDataAdapter adapter 
= new OleDbDataAdapter(cmd);
    adapter.Fill(ds, 
"tempTable");
   }

   
catch (Exception e)
   
{
    ds 
= null;
   }

   
finally
   
{
    
this.Close();
   }

   
return ds;
  }

  
/// <summary>
  
/// 根据SQL查询返回DataSet对象,如果没有查询到则返回NULL
  
/// </summary>
  
/// <param name="sql">查询语句</param>
  
/// <param name="sRecord">开始记录数</param>
  
/// <param name="mRecord">最大记录数</param>
  
/// <returns>DataSet</returns>

  public DataSet GetDataSet(string sql, int sRecord, int mRecord)
  
{
   DataSet ds 
= new DataSet();
   
try
   
{
    OleDbCommand cmd 
= new OleDbCommand(sql, conn);
    cmd.CommandTimeout 
= 20;
    System.Data.OleDb.OleDbDataAdapter adapter 
= new OleDbDataAdapter(cmd);
    adapter.Fill(ds, sRecord, mRecord, 
"tempTable");
   }

   
catch (Exception e)
   
{
    ds 
= null;
   }

   
finally
   
{
    
this.Close();
   }

   
return ds;
  }

  
/// <summary>
  
/// 对数据库的增,删,改的操作
  
/// </summary>
  
/// <param name="sql">SQL语句</param>
  
/// <returns>是否成功</returns>

  public bool ExecuteDataBase(string sql)
  
{
   
bool succeed = false;
   
int cnt = 0;
   
try
   
{
    OleDbCommand cmd 
= new OleDbCommand(sql, conn);
    cmd.CommandTimeout 
= 20;
    
if (this.Open())
     cnt 
= cmd.ExecuteNonQuery();
   }

   
catch (Exception e)
   
{
    e.ToString();
   }

   
finally
   
{
    
if (cnt > 0)
    
{
     succeed 
= true;
    }

    
this.Close();
   }

   
return succeed;
  }

  
/// <summary>
  
/// 获得该SQL查询返回的第一行第一列的值,如果没有查询到则返回NULL
  
/// </summary>
  
/// <param name="sql">查询语句</param>
  
/// <returns>返回的第一行第一列的值</returns>

  public string GetScalar(string sql)
  
{
   
string str = null;
   
try
   
{
    OleDbCommand cmd 
= new OleDbCommand(sql, conn);
    
if (this.Open())
     str 
= cmd.ExecuteScalar().ToString();
   }

   
catch (Exception e)
   
{
    e.ToString();
   }

   
finally
   
{
    
this.Close();
   }

   
return str;
  }


  
/// <summary>
  
///  获得该SQL查询返回DataTable,如果没有查询到则返回NULL
  
/// </summary>
  
/// <param name="sql">查询语句</param>
  
/// <returns></returns>

  public DataTable GetDataTable(string sql)
  
{
   DataTable tb 
= null;
   DataSet ds 
= this.GetDataSet(sql);
   
if (ds != null)
   
{
    tb 
= ds.Tables["tempTable"];
   }

   
return tb;
  }

  
/// <summary>
  
/// 打开数据库连接.
  
/// </summary>

  private bool Open()
  
{
   
bool succeed = false;
   
try
   
{
    
if (conn.State == System.Data.ConnectionState.Closed)
    
{
     conn.Open();
     succeed 
= true;
    }

    
else if (conn.State == System.Data.ConnectionState.Broken)
    
{
     conn.Close();
     conn.Open();
     succeed 
= true;
    }

    
else if(conn.State == System.Data.ConnectionState.Open)
    
{
     succeed 
= true;
    }

   }

   
catch(Exception e)
   
{
    e.ToString();
   }

            
   
return succeed;
  }

  
/// <summary>
  
/// 关闭数据库连接
  
/// </summary>

  public void Close()
  
{
   
if (conn != null)
   
{
    conn.Close();
   }

  }

  
/// <summary>
  
/// 释放数据库连接资源
  
/// </summary>

  public void Dispose()
  
{
   
if (conn != null)
   
{
    conn.Dispose();
    conn 
= null;
   }

  }

 }

}


60多年前,一个朋友给我讲了一个笑话,把我笑翻了,后来由于肚子太疼进了医院。医生给我做手术前,问我 为什么笑成这样,我就讲给他听。他听后狂笑不止,最后竟然笑死了。 我被送上了法庭。法官让我把那个笑话讲出来,由陪审团判定是否与过失杀人的事实要件符合,我要求签订免责合同。法官宣布休庭,一天后重新开庭,宣布接纳我的意见。于是,我当庭把那个笑话讲了出来,结果有人笑得敲桌子,有人笑得在地上打滚。后来,当天所有听到这个笑话的人都笑死了。 我瞬间成了名人,各路记者纷纷要求采访我,我知道这笑话讲出去可能构成公共侵害,于是对着镜头,我含糊地说了一番话,大意就是:“理由永远是谎言,信仰永远是自慰。节目播出后,引起巨大反响。可没想到,有一天,几个神秘便衣闯进我的卧室,把我连拖带拽拉到一个黑屋子里。过了好久,一束强光照到我脸上。我勉强睁开眼睛,惊呆了,坐在我面前的人是目前惟一与我一样家喻户晓的人——总统。 总统大致交待了抓我的目的,很简单:把这个笑话录下来,然后送到中东敌对国家的独裁者那儿,笑死他。我只好答应他的要求,同时提出此笑话属于大规模杀伤性武器,不可针对平民。总统答应了。 两星期后,总统宣布已经掌握了那个笑话的关键技术,并且在沙漠地区试用成功。这在国际间引起轩然大波,很多国家惊慌失措,国际军事学家将此命名为“笑威慑”。就在此时,东方一个国家突然宣布也掌握了该笑话,原来给我讲笑话的那哥们投靠了该国。于是,我们之间形成了“笑威慑平衡”。 三年后,4月1日,我终日担心的终于发生了:中东一个恐怖组织盗取了那个笑话的原始技术。结果,文明遭到前所未有的破坏,各国政府惶惶不可终日。联合国只好召开全球首脑大会,最后将4月1日设定为愚人节。 60多年过去了,我已经风烛残年。在离开世界之前,作为历史见证人,我想有必要把这个笑话讲给大家。那天,我朋友给我讲的这个笑话很简单,很短,就一句话: http://www.tf-studio.com/WORK/FUN/15.HTML 必须回复后,才能查看