国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

基于ODP的數(shù)據(jù)層基類C#源碼

2024-07-21 02:27:33
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

#region using
using system;
using system.configuration;
using system.data;
using oracle.dataaccess.client;
#endregion

namespace wis.base.data
{
 /// <summary>
 /// <table >
 /// <tr><td><b>文 件 名</b>:dbobject.cs</td></tr>
 /// <tr><td><b>功能描述</b>:數(shù)據(jù)層基類,提供對(duì)底層數(shù)據(jù)的基本操作</td></tr>
 /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤
[email protected] qq:23106676</td></tr>
 /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
 /// </table>
 /// </summary>

 public class dbobject
 {
  #region 成員變量
  /// <summary>
  /// <table >
  /// <tr><td><b>功能描述</b>:oracle數(shù)據(jù)連接對(duì)象</td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table>
  /// </summary>
  protected oracleconnection connection;

  /// <summary><table >
  /// <tr><td><b>功能描述</b>:數(shù)據(jù)連接字符串</td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table></summary>
  private string connectionstring;
  #endregion

  #region 構(gòu)造函數(shù)
  /// <summary><table >
  /// <tr><td><b>功能描述</b>:構(gòu)造函數(shù),使用配置文件中的默認(rèn)數(shù)據(jù)連接字符串connectionstring,初始化數(shù)據(jù)連接對(duì)象 </td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table></summary>
  public dbobject()
  {
   connectionstring = configurationsettings.appsettings.get("connectionstring");//從web.config中取得的連接字符串
   connection = new oracleconnection(connectionstring);
  }
  /// <summary><table >
  /// <tr><td><b>功能描述</b>:構(gòu)造函數(shù),根據(jù)指定的數(shù)據(jù)連接字符串,初始化數(shù)據(jù)連接對(duì)象</td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table></summary>
  /// <param name="newconnectionstring">數(shù)據(jù)連接字符串</param>
  public dbobject( string newconnectionstring )
  {
   connectionstring = newconnectionstring;
   connection = new oracleconnection( connectionstring );
  }
  #endregion

  #region 私有方法

  /// <summary><table >
  /// <tr><td><b>功能描述</b>:創(chuàng)建一個(gè)oraclecommand對(duì)象,用于生成oracledatareader </td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table></summary>
  /// <param name="storedprocname">存儲(chǔ)過(guò)程名稱</param>
  /// <param name="parameters">存儲(chǔ)過(guò)程的參數(shù)對(duì)象列表(數(shù)組)</param>
  /// <returns>oraclecommand對(duì)象</returns>
  private oraclecommand buildcommand(string storedprocname, idataparameter[] parameters)
  {
   oraclecommand command = new oraclecommand( storedprocname, connection );
   command.commandtype = commandtype.storedprocedure;

   foreach (oracleparameter parameter in parameters)
   {
    command.parameters.add( parameter );
   }

   return command;

  }
  #endregion

  #region 運(yùn)行存儲(chǔ)過(guò)程
  /// <summary>
  /// <table >
  /// <tr><td><b>功能描述</b>:運(yùn)行存儲(chǔ)過(guò)程,獲取影響行數(shù),返回存儲(chǔ)過(guò)程運(yùn)行結(jié)果 </td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table>
  /// </summary>
  /// <param name="storedprocname">存儲(chǔ)過(guò)程名稱</param>
  /// <param name="parameters">存儲(chǔ)過(guò)程的參數(shù)對(duì)象列表(數(shù)組)</param>
  /// <param name="rowsaffected">出參:執(zhí)行存儲(chǔ)過(guò)程所影響的記錄行數(shù)</param>
  /// <returns>存儲(chǔ)過(guò)程的運(yùn)行結(jié)果</returns>
  public object runprocedure(string storedprocname, idataparameter[] parameters, out int rowsaffected )
  {
   object result;

   //if(connection.state.tostring() == "closed") connection.open();
   connection.open();
   oraclecommand command = buildcommand( storedprocname, parameters );
   rowsaffected = command.executenonquery();
   //如果有"returnvalue"參數(shù)則返回值,否則返回null
   bool blnhasreturn = false;
   for (int i=0;i<parameters.length;i++)
   {
    if (parameters[i].direction == parameterdirection.returnvalue)
    {
     blnhasreturn = true;
     break;
    }
   }
   if (blnhasreturn)
    result = command.parameters["returnvalue"].value;
   else
    result = null;

   connection.close();
   return result;
  }

  /// <summary><table >
  /// <tr><td><b>功能描述</b>:運(yùn)行存儲(chǔ)過(guò)程,返回產(chǎn)生的oracledatareader對(duì)象 </td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table></summary>
  /// <param name="storedprocname">存儲(chǔ)過(guò)程名稱</param>
  /// <param name="parameters">存儲(chǔ)過(guò)程的參數(shù)對(duì)象列表(數(shù)組)</param>
  /// <returns>oracledatareader對(duì)象</returns>
  public oracledatareader runprocedure(string storedprocname, idataparameter[] parameters )
  {
   oracledatareader returnreader;

   connection.open();
   oraclecommand command = buildcommand( storedprocname, parameters );
   command.commandtype = commandtype.storedprocedure;

   returnreader = command.executereader();
   //connection.close();
   return returnreader;
  }

  /// <summary><table >
  /// <tr><td><b>功能描述</b>:運(yùn)行存儲(chǔ)過(guò)程,創(chuàng)建一個(gè)dataset對(duì)象,
  /// 將運(yùn)行結(jié)果存入指定的datatable中,返回dataset對(duì)象 </td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table></summary>
  /// <param name="storedprocname">存儲(chǔ)過(guò)程名稱</param>
  /// <param name="parameters">存儲(chǔ)過(guò)程的參數(shù)對(duì)象列表(數(shù)組)</param>
  /// <param name="tablename">數(shù)據(jù)表名稱</param>
  /// <returns>dataset對(duì)象</returns>
  public dataset runprocedure(string storedprocname, idataparameter[] parameters, string tablename )
  {
   dataset dataset = new dataset();
   connection.open();
   oracledataadapter sqlda = new oracledataadapter();
   sqlda.selectcommand = buildcommand( storedprocname, parameters );
   sqlda.fill( dataset, tablename );
   connection.close();

   return dataset;
  }

  /// <summary><table >
  /// <tr><td><b>功能描述</b>:運(yùn)行存儲(chǔ)過(guò)程,將運(yùn)行結(jié)果存入已有dataset對(duì)象的指定表中,無(wú)返回值 </td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table></summary>  
  /// <param name="storedprocname">存儲(chǔ)過(guò)程名稱</param>
  /// <param name="parameters">存儲(chǔ)過(guò)程的參數(shù)對(duì)象列表(數(shù)組)</param>
  /// <param name="dataset">dataset對(duì)象</param>
  /// <param name="tablename">數(shù)據(jù)表名稱</param>
  public void runprocedure(string storedprocname, idataparameter[] parameters, dataset dataset, string tablename )
  {
   connection.open();
   oracledataadapter sqlda = new oracledataadapter();
   sqlda.selectcommand = buildcommand( storedprocname, parameters );
   sqlda.fill( dataset, tablename );
   connection.close();   
  }
  #endregion

  #region 運(yùn)行sql語(yǔ)句
  /// <summary><table >
  /// <tr><td><b>功能描述</b>:運(yùn)行與寫數(shù)據(jù)庫(kù)相關(guān)的sql語(yǔ)句,返回影響行數(shù) </td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table></summary>  
  /// <param name="sqlstring">sql語(yǔ)句</param>
  /// <returns>影響行數(shù)</returns>
  public int execnonquery(string sqlstring)
  {
   int rowaffected;
   //if(connection.state.tostring() == "closed") connection.open();
   connection.open();
   oraclecommand command = new oraclecommand( sqlstring, connection );
   rowaffected = command.executenonquery();
   connection.close();
 
   return rowaffected;

  }

  /// <summary><table >
  /// <tr><td><b>功能描述</b>:運(yùn)行sql語(yǔ)句,返回oracledatareader對(duì)象 </td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table></summary>
  /// <param name="sqlstring">sql語(yǔ)句</param>
  /// <returns>sqldatareader對(duì)象</returns>
  public oracledatareader execsqlstring(string sqlstring)
  {
   oracledatareader returnreader;

   //if(connection.state.tostring() == "closed") connection.open();
   connection.open();
   oraclecommand command = new oraclecommand( sqlstring, connection );
   returnreader = command.executereader();
   //connection.close();

   return returnreader;
  }

  
  /// <summary><table >
  /// <tr><td><b>功能描述</b>:運(yùn)行sql語(yǔ)句,返回dataset對(duì)象 </td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table></summary>
  /// <param name="string">sql語(yǔ)句</param>
  /// <param name="tablename">數(shù)據(jù)表名稱</param>
  /// <returns>dataset對(duì)象</returns>
  public dataset execsqlstring(string sqlstring, string tablename )
  {
   dataset dataset = new dataset();
   //if (connection.state.tostring() == "closed") connection.open();
   connection.open();
   oracledataadapter sqlda = new oracledataadapter();
   sqlda.selectcommand = new oraclecommand( sqlstring, connection );
   sqlda.fill( dataset, tablename );
   connection.close();

   return dataset;
  }

  /// <summary><table >
  /// <tr><td><b>功能描述</b>:運(yùn)行sql語(yǔ)句,將運(yùn)行結(jié)果存入已有dataset對(duì)象的指定表中,無(wú)返回值 </td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table></summary>  
  /// <param name="sqlstring">sql語(yǔ)句</param>
  /// <param name="dataset">dataset對(duì)象</param>
  /// <param name="tablename">數(shù)據(jù)表名稱</param>
  public void execsqlstring(string sqlstring, dataset dataset, string tablename )
  {
   //if (connection.state.tostring() == "closed") connection.open();
   connection.open();
   oracledataadapter sqlda = new oracledataadapter();
   sqlda.selectcommand = new oraclecommand( sqlstring, connection );
   sqlda.fill( dataset, tablename );
   connection.close();  
  }

  /// <summary><table >
  /// <tr><td><b>功能描述</b>:運(yùn)行sql語(yǔ)句,返回查詢結(jié)果的第一行的第一列,忽略其它行或列 </td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table></summary>  
  /// <param name="sqlstring">sql語(yǔ)句</param>
  /// <returns>影響行數(shù)</returns>
  public object execscalar(string sqlstring)
  {
   object returnscalar;
   //if (connection.state.tostring() == "closed") connection.open();
   connection.open();
   oraclecommand command = new oraclecommand( sqlstring, connection );
   returnscalar = command.executescalar();
   //connection.close();
   
   return returnscalar;
  }
  #endregion

  #region 關(guān)閉數(shù)據(jù)連接
  /// <summary><table >
  /// <tr><td><b>功能描述</b>:關(guān)閉數(shù)據(jù)連接 </td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table></summary>
  public void close()
  {
   if(connection.state.tostring() == "open")
    connection.close();
  }
  #endregion

  #region 析構(gòu)函數(shù)
  /// <summary><table >
  /// <tr><td><b>功能描述</b>:析構(gòu)函數(shù),善后處理,釋放數(shù)據(jù)連接 </td></tr>
  /// <tr><td><b>創(chuàng) 建 人</b>:夏春濤 </td></tr>
  /// <tr><td><b>創(chuàng)建時(shí)間</b>:2005-05-28 </td></tr>
  /// </table></summary>
  ~dbobject()
  {
   if(connection.state.tostring() == "open")
    connection.close();
   connection.dispose();
  }
  #endregion
  

 }
}

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 望城县| 同心县| 定兴县| 江阴市| 疏附县| 青铜峡市| 南和县| 淳安县| 荔波县| 昌黎县| 扎囊县| 长治市| 兴城市| 固始县| 郑州市| 建平县| 阿瓦提县| 屯留县| 湛江市| 义乌市| 体育| 西华县| 三江| 德化县| 台安县| 九寨沟县| 太仆寺旗| 兴安县| 南雄市| 阳西县| 正蓝旗| 盐城市| 五指山市| 建始县| 合川市| 岳阳市| 壶关县| 新乡市| 贵德县| 廊坊市| 舞钢市|