using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.OracleClient;
namespace oracle
{
public class oracle
{
private OracleConnection conn = null;
private OracleCommand cmd = null;
private string connstr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
public oracle()
{
}
/// <summary>
/// 建立数据库连接
/// </summary>
/// <returns>返回一个数据库的连接oracleconnection对象</returns>
private void init()
{
try
{
conn = new OracleConnection(connstr);
conn.Open();
}
catch (Exception e)
{
throw new Exception(e.Message.ToString());
}
}
#region 执行相应的查询sql语句,返回执行语句后所对应的表
/// <summary>
/// 执行相应的sql语句,返回所对应的表
/// </summary>
/// <param name="sqlstr">sql查询语句</param>
/// <returns>返回所对应的表</returns>
public DataTable QueryToTable(string sqlstr)
{
DataTable tab = new DataTable();
DataSet set = new DataSet();
try
{
init();
OracleDataAdapter adp = new OracleDataAdapter(sqlstr, conn);
adp.Fill(set, "table");
tab = set.Tables["table"];
conn.Close();
}
catch (Exception e)
{
throw new Exception(e.Message.ToString());
}
return tab;
}
#endregion
#region 执行不带参数sql语句,返回所影响的行数
/// <summary>
/// 执行不带参数sql语句,返回所影响的行数
/// </summary>
/// <param name="cmdstr">增,删,改sql语句</param>
/// <returns>返回所影响的行数</returns>
public int ExecuteNonQuery(string cmdstr)
{
int count;
try
{
init();
cmd = new OracleCommand(cmdstr, conn);
count = cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message.ToString());
}
return count;
}
#endregion
#region 执行带参数sql语句,返回所影响的行数
/// <summary>
/// 执行带参数sql语句,返回所影响的行数
/// </summary>
/// <param name="cmdstr">增,删,改sql语句</param>
/// <param name="parms">参数集合</param>
/// <returns>返回所影响的行数</returns>
public int ExecuteNonQuery(string cmdstr, OracleParameter[] parms)
{
int count;
try
{
init();
cmd = new OracleCommand(cmdstr, conn);
cmd.Parameters.AddRange(parms);
count = cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message.ToString());
}
return count;
}
#endregion
#region 执行不带参数语句,返回一个从数据源读取数据的OracleDataReader对象
/// <summary>
/// 执行不带参数语句,返回一个从数据源读取数据的OracleDataReader对象
/// </summary>
/// <param name="cmdstr">相应的sql语句</param>
/// <returns>返回一个从数据源读取数据的OracleDataReader对象</returns>
public OracleDataReader CmdToReader(string cmdstr)
{
OracleDataReader reader;
try
{
init();
cmd = new OracleCommand(cmdstr, conn);
reader = cmd.ExecuteReader();
}
catch (Exception ex)
{
throw new Exception(ex.Message.ToString());
}
return reader;
}
#endregion
#region 执行带参数语句,返回一个从数据源读取数据的OracleDataReader对象
/// <summary>
/// 执行带参数语句,返回一个从数据源读取数据的OracleDataReader对象
/// </summary>
/// <param name="cmdstr">相应的sql语句</param>
/// <param name="parms">参数集合</param>
/// <returns>返回一个从数据源读取数据的OracleDataReader对象</returns>
public OracleDataReader CmdToReader(string cmdstr, OracleParameter[] parms)
{
OracleDataReader reader;
try
{
init();
cmd = new OracleCommand(cmdstr, conn);
cmd.Parameters.AddRange(parms);
reader = cmd.ExecuteReader();
}
catch (Exception ex)
{
throw new Exception(ex.Message.ToString());
}
return reader;
}
#endregion
#region 执行不带参数sql语句,返回结果集第一列的第一行的值object
/// <summary>
/// 执行不带参数sql语句,返回结果集第一列的第一行的值object
/// </summary>
/// <param name="cmdstr">相应的sql语句</param>
/// <returns>返回结果集第一列的第一行的值object</returns>
public object CmdToObject(string cmdstr)
{
object obj;
try
{
init();
cmd = new OracleCommand(cmdstr, conn);
obj = cmd.ExecuteScalar();
conn.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message.ToString());
}
return obj;
}
#endregion
#region 执行带参数sql语句,返回结果集第一列的第一行的值object
/// <summary>
/// 执行带参数sql语句,返回结果集第一列的第一行的值object
/// </summary>
/// <param name="cmdstr">相应的sql语句<</param>
/// <param name="parms">参数集合</param>
/// <returns>返回结果集第一列的第一行的值object</returns>
public object CmdToObject(string cmdstr, OracleParameter[] parms)
{
object obj;
try
{
init();
cmd = new OracleCommand(cmdstr, conn);
cmd.Parameters.AddRange(parms);
obj = cmd.ExecuteScalar();
conn.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message.ToString());
}
return obj;
}
#endregion
}
}