OracleDatabase.cs
2016-01-28 13:14
639 查看
using System; using System.Data;// DataTable using System.Configuration;// ConfigurationManager using Oracle.DataAccess.Client;// OracleConnection,OracleCommand,OracleDataReader,OracleDataAdapter using System.Collections;// ArrayList /// <summary> /// OracleDatabase 的摘要说明 /// </summary> /// <example> /// Web.config 中配置如下: /// <code> /// <connectionStrings> /// <add name="link_sample" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.xxx)(PORT=1521))(CONNECT_DATA=(SID=xxxx)));User Id=xxxx;Password=xxxx;" providerName="System.Data.OracleClient" /> /// </connectionStrings> /// </code> /// </example> public class OracleDatabase { // 构造函数 public OracleDatabase() { } // 连接状态检测 public bool ConnectionStatus(string connStr) { bool result = false; OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings[connStr].ConnectionString); try { conn.Open(); OracleCommand cmd = conn.CreateCommand(); cmd.CommandText = "select 1 from dual";// 连接测试语句 OracleDataReader dr = cmd.ExecuteReader(); dr.Close(); result = true; } catch { result = false; } finally { conn.Close(); } return result; } // 执行SQL并获取结果,重载 public string Query(string connStr, string sql) { string result = ""; try { OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings[connStr].ConnectionString); OracleCommand cmd = conn.CreateCommand(); cmd.InitialLONGFetchSize = -1;// 设定为抓取不限长度的Long字段 conn.Open(); cmd.CommandText = sql; OracleDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { result = dr[0].ToString(); } dr.Close(); conn.Close(); } catch { } return result; } // 执行SQL并获取结果,重载 public string Query(string connStr, string sql, int num) { string result = ""; try { OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings[connStr].ConnectionString); OracleCommand cmd = conn.CreateCommand(); cmd.InitialLONGFetchSize = -1;// 设定为抓取不限长度的Long字段 conn.Open(); cmd.CommandText = sql; OracleDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { result = dr[num].ToString(); } dr.Close(); conn.Close(); } catch { } return result; } // 执行SQL并确认,重载 public bool Perform(string connStr, string sql) { bool result = false; try { OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings[connStr].ConnectionString); OracleCommand cmd = conn.CreateCommand(); conn.Open(); cmd.CommandText = sql; OracleDataReader dr = cmd.ExecuteReader(); dr.Close(); conn.Close(); result = true; } catch { } return result; } // 执行SQL并确认,重载 public bool Perform(string connStr, string sql, out string err) { bool result = false; err = null; try { OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings[connStr].ConnectionString); OracleCommand cmd = conn.CreateCommand(); conn.Open(); cmd.CommandText = sql; OracleDataReader dr = cmd.ExecuteReader(); dr.Close(); conn.Close(); result = true; } catch (Exception ex) { err = ex.Message; } return result; } // 执行SQL并获取数据集 public DataSet GetDataSet(string connStr, string sql) { DataSet ds = new DataSet(); try { OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings[connStr].ConnectionString); OracleCommand cmd = conn.CreateCommand(); cmd.CommandText = sql; OracleDataAdapter da = new OracleDataAdapter(cmd); da.Fill(ds); } catch { } return ds; } // 执行SQL并获取数据表 public DataTable GetDataTable(string connStr, string sql) { DataTable dt = new DataTable(); OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings[connStr].ConnectionString); try { OracleCommand cmd = conn.CreateCommand(); cmd.CommandText = sql; OracleDataAdapter da = new OracleDataAdapter(cmd); da.Fill(dt); } catch { } return dt; } // 执行SQL并获取数据列 public ArrayList GetList(string connStr, string sql) { ArrayList list = new ArrayList(); OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings[connStr].ConnectionString); OracleCommand cmd = conn.CreateCommand(); conn.Open(); cmd.InitialLONGFetchSize = -1;// 设定为抓取不限长度的Long字段 cmd.CommandText = sql; OracleDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { list.Add(dr[0].ToString());// 每次读取后数据前推,因此只需读首行即可 } dr.Close(); conn.Close(); return list; } }
相关文章推荐
- Oracle 语句常见错误
- Oracle中的job的定时任务
- oracle chr(0) 隐藏字符串
- 晦涩的oracle X$
- oracle设置定时任务job调度执行存储过程或pl/sql代码块
- Oracle 的几种 分页查询
- oracle中nvl()函数有什么用啊?
- oracle强制索引(转)
- Oracle 11g 数据库详细安装说明
- oracle里IW和WW 区别
- ORACLE百万记录SQL语句优化技巧
- Aix Oracle11g裸设备建库
- Oracle中视图和同义词的区别
- 运用Log和Trace文件排除Oracle Net问题
- Oracle存储过程返回select * from table结果
- Oracle回收站 使用
- Oracle Metadata Management (OMM)元数据管理 12.2.1发布
- 8.Oracle深度学习笔记——BUFFER CACHE深入一
- 7.Oracle深度学习笔记——内存架构之SGA IM Column Store
- oracle数据库常用函数