技术开发 频道

一个C#操作Oracle的通用类


【IT168技术文档】

using System; using System.Data; using System.Data.OracleClient; using System.Web.UI.WebControls; namespace SiFenManager.Util { /// <summary> /// 数据库通用操作类 /// </summary> public class Database { protected OracleConnection con;//连接对象 public Database() { con=new OracleConnection(DafangFramework.AppConfig.DataBaseConnectionString); } public Database(string constr) { con=new OracleConnection(constr); } #region 打开数据库连接 /// <summary> /// 打开数据库连接 /// </summary> private void Open() { //打开数据库连接 if(con.State==ConnectionState.Closed) { try { //打开数据库连接 con.Open(); } catch(Exception e) { throw e; } } } #endregion #region 关闭数据库连接 /// <summary> /// 关闭数据库连接 /// </summary> private void Close() { //判断连接的状态是否已经打开 if(con.State==ConnectionState.Open) { con.Close(); } } #endregion #region 执行查询语句,返回OracleDataReader ( 注意:调用该方法后,一定要对OracleDataReader进行Close ) /// <summary> /// 执行查询语句,返回OracleDataReader ( 注意:调用该方法后,一定要对OracleDataReader进行Close ) /// </summary> /// <param name="sql">查询语句</param> /// <returns>OracleDataReader</returns> public OracleDataReader ExecuteReader(string sql) { OracleDataReader myReader; Open(); OracleCommand cmd = new OracleCommand(sql, con); myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection); return myReader; } #endregion #region 执行带参数的SQL语句 /// <summary> /// 执行SQL语句,返回影响的记录数 /// </summary> /// <param name="sql">SQL语句</param> /// <returns>影响的记录数</returns> public int ExecuteSql(string sql, params OracleParameter[] cmdParms) { OracleCommand cmd = new OracleCommand(); { try { PrepareCommand(cmd, con, null, sql, cmdParms); int rows = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return rows; } catch (System.Data.OracleClient.OracleException e) { throw e; } } } #endregion
0
相关文章