广

oracle数据库

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    Oracle 数据库操作类

    2018-05-04 21:21:28 次阅读 稿源:互联网
    广告
    全网推广平台,软文发布
    代码如下:

    using System;
    using System.Data;
    using System.Configuration;
    using System.Data.OracleClient;
    using System.Text;
    using System.Windows.Forms;
    using System.Xml;
    using Transactions;
    /// <summary>
    /// DB 的摘要说明 Written By Luos.Luo ,the creator of SalePlayer.Com
    /// </summary>
    public class MyOraDB
    {
    public MyOraDB()
    {
    }
    public int ExcuteSqlWithNoQuery(string vSql)
    {
    int vI = 0;
    OracleConnection vOracleConn = OpenOracleDBConn();
    try
    {
    if (vOracleConn.State != ConnectionState.Open)
    {
    vOracleConn.Open();
    }
    OracleCommand vOracleCmd = new OracleCommand();
    vOracleCmd.Connection = vOracleConn;
    vOracleCmd.CommandText = vSql;
    vOracleCmd.CommandType = CommandType.Text;
    vI = vOracleCmd.ExecuteNonQuery();
    }
    catch (Exception ex)
    {
    MyLog vMyLog = new MyLog();
    vMyLog.WriteLog("MyOraDB", vSql, ex);
    }
    finally
    {
    CloseoracleDBConn(vOracleConn);
    }
    return vI;
    }
    public int ExcuteSqlWithSingleNum(string vSql)
    {
    int vI = 0;
    OracleConnection vOracleConn = OpenOracleDBConn();
    try
    {
    if (vOracleConn.State != ConnectionState.Open)
    {
    vOracleConn.Open();
    }
    OracleDataReader vOracleDataReader = CreateOracleDataReader(vSql);
    while (vOracleDataReader.Read())
    {
    vI = vOracleDataReader.GetInt32(0);
    }
    vOracleDataReader.Close();
    }
    catch (Exception ex)
    {
    MyLog vMyLog = new MyLog();
    vMyLog.WriteLog("MyOraDB", vSql, ex);
    }
    finally
    {
    CloseoracleDBConn(vOracleConn);
    }
    return vI;
    }
    public string ExcuteSqlWithSingleString(string vSql)
    {
    StringBuilder vTempStrBld = new StringBuilder();
    OracleConnection vOracleConn = OpenOracleDBConn();
    try
    {
    if (vOracleConn.State != ConnectionState.Open)
    {
    vOracleConn.Open();
    }
    OracleDataReader vOracleDataReader = CreateOracleDataReader(vSql);
    while (vOracleDataReader.Read())
    {
    vTempStrBld.Append(vOracleDataReader.GetString(0));
    }
    vOracleDataReader.Close();
    }
    catch (Exception ex)
    {
    MyLog vMyLog = new MyLog();
    vMyLog.WriteLog("MyOraDB", vSql, ex);
    }
    finally
    {
    CloseoracleDBConn(vOracleConn);
    }
    return vTempStrBld.ToString();
    }
    public DataTable ExcuteSqlWithDataTable(string vSql)
    {
    DataTable vDataTable = new DataTable();
    OracleConnection vOracleConn = OpenOracleDBConn();
    try
    {
    if (vOracleConn.State != ConnectionState.Open)
    {
    vOracleConn.Open();
    }
    OracleDataAdapter vOracleDataAdapter = new OracleDataAdapter(vSql, vOracleConn);
    vOracleDataAdapter.Fill(vDataTable);
    }
    catch (Exception ex)
    {
    MyLog vMyLog = new MyLog();
    vMyLog.WriteLog("MyOraDB", vSql, ex);
    }
    finally
    {
    CloseoracleDBConn(vOracleConn);
    }
    return vDataTable;
    }
    public DataSet ExcuteSqlWithDataSet(string vSql)
    {
    DataSet vDataSet = new DataSet();
    OracleConnection vOracleConn = OpenOracleDBConn();
    try
    {
    if (vOracleConn.State != ConnectionState.Open)
    {
    vOracleConn.Open();
    }
    OracleDataAdapter vOracleDataAdapter = new OracleDataAdapter(vSql, vOracleConn);
    vOracleDataAdapter.Fill(vDataSet);
    }
    catch (Exception ex)
    {
    MyLog vMyLog = new MyLog();
    vMyLog.WriteLog("MyOraDB", vSql, ex);
    }
    finally
    {
    CloseoracleDBConn(vOracleConn);
    }
    return vDataSet;
    }
    public string ExcuteSqlTransactionWithString(string[] vSqlArray)
    {
    int vI = vSqlArray.Length;
    string vSql = string.Empty;
    OracleConnection vOracleConn = OpenOracleDBConn();
    if (vOracleConn.State != ConnectionState.Open)
    {
    vOracleConn.Open();
    }
    OracleTransaction vOracleTrans = vOracleConn.BeginTransaction(IsolationLevel.ReadCommitted);
    OracleCommand vOracleCmd = new OracleCommand();
    vOracleCmd.Connection = vOracleConn;
    vOracleCmd.Transaction = vOracleTrans;
    try
    {
    for (int i = 0; i < vI; i++)
    {
    if (string.IsNullOrEmpty(vSqlArray[i]) == false)
    {
    vSql = vSqlArray[i];
    vOracleCmd.CommandText = vSql;
    vOracleCmd.ExecuteNonQuery();
    }
    }
    vOracleTrans.Commit();
    }
    catch (Exception ex)
    {
    vOracleTrans.Rollback();
    CloseoracleDBConn(vOracleConn);
    MyLog vMyLog = new MyLog();
    vMyLog.WriteLog("", vSql, ex);
    return ex.Message;
    }
    CloseoracleDBConn(vOracleConn);
    return "SUCCESS";
    }
    public void ExcuteProcedureWithNonQuery(string vProcedureName, OracleParameter[] parameters)
    {
    OracleConnection vOracleConn = OpenOracleDBConn();
    try
    {
    if (vOracleConn.State != ConnectionState.Open)
    {
    vOracleConn.Open();
    }
    OracleCommand vOracleCmd = new OracleCommand();
    vOracleCmd.Connection = vOracleConn;
    vOracleCmd.CommandText = vProcedureName;
    vOracleCmd.CommandType = CommandType.StoredProcedure;
    foreach (OracleParameter parameter in parameters)
    {
    vOracleCmd.Parameters.Add(parameter);
    }
    vOracleCmd.ExecuteNonQuery();
    }
    catch (Exception ex)
    {
    MyLog vMyLog = new MyLog();
    WriteLog("异常信息:ExcuteProcedureWithNonQuery:" + ex.Message);
    }
    finally
    {
    CloseoracleDBConn(vOracleConn);
    }
    }
    public string ExcuteProcedureWithSingleString(string vProcedureName, OracleParameter[] parameters)
    {
    string vTempStr = string.Empty;
    OracleParameter vOutMessage;
    OracleConnection vOracleConn = OpenOracleDBConn();
    try
    {
    if (vOracleConn.State != ConnectionState.Open)
    {
    vOracleConn.Open();
    }
    OracleCommand vOracleCmd = new OracleCommand();
    vOracleCmd.Connection = vOracleConn;
    vOracleCmd.CommandText = vProcedureName;
    vOracleCmd.CommandType = CommandType.StoredProcedure;
    vOutMessage = new OracleParameter("O_FLAG", OracleType.VarChar);
    vOutMessage.Direction = ParameterDirection.Output;
    vOutMessage.Size = 100;
    vOracleCmd.Parameters.Add(vOutMessage);
    foreach (OracleParameter parameter in parameters)
    {
    vOracleCmd.Parameters.Add(parameter);
    }
    vOracleCmd.ExecuteNonQuery();
    vOracleCmd.Dispose();
    vOracleCmd = null;
    vTempStr = vOutMessage.Value.ToString();
    }
    catch (Exception ex)
    {
    MyLog vMyLog = new MyLog();
    WriteLog("异常信息:ExcuteProcedureWithNonQuery:" + ex.Message);
    }
    finally
    {
    CloseoracleDBConn(vOracleConn);
    }
    return vTempStr;
    }
    public int ExcuteProcedureWithSingleNum(string vProcedureName, OracleParameter[] parameters)
    {
    int vI = 0;
    OracleParameter vOutMessage;
    OracleConnection vOracleConn = OpenOracleDBConn();
    try
    {
    if (vOracleConn.State != ConnectionState.Open)
    {
    vOracleConn.Open();
    }
    OracleCommand vOracleCmd = new OracleCommand();
    vOracleCmd.Connection = vOracleConn;
    vOracleCmd.CommandText = vProcedureName;
    vOracleCmd.CommandType = CommandType.StoredProcedure;
    vOutMessage = new OracleParameter("O_FLAG", OracleType.Int32);
    vOutMessage.Direction = ParameterDirection.Output;
    vOutMessage.Size = 100;
    vOracleCmd.Parameters.Add(vOutMessage);
    foreach (OracleParameter parameter in parameters)
    {
    vOracleCmd.Parameters.Add(parameter);
    }
    vOracleCmd.ExecuteNonQuery();
    vOracleCmd.Dispose();
    vOracleCmd = null;
    vI = System.Convert.ToInt32(vOutMessage.Value);
    }
    catch (Exception ex)
    {
    MyLog vMyLog = new MyLog();
    WriteLog("异常信息:ExcuteProcedureWithNonQuery:" + ex.Message);
    }
    finally
    {
    CloseoracleDBConn(vOracleConn);
    }
    return vI;
    }
    /// <summary>
    /// Creates the parameter.
    /// </summary>
    /// <param name="name">The name.</param>
    /// <param name="dbType">Type of the db.</param>
    /// <param name="size">The value size</param>
    /// <param name="direction">The direction.</param>
    /// <param name="paramValue">The param value.</param>
    /// <returns></returns>
    public OracleParameter CreateParameter(string vProcedureName, OracleType vOracleType, int vSize, ParameterDirection vDirection, object vParamValue)
    {
    OracleParameter vOracleParameter = new OracleParameter();
    vOracleParameter.ParameterName = vProcedureName;
    vOracleParameter.OracleType = vOracleType;
    vOracleParameter.Size = vSize;
    vOracleParameter.Direction = vDirection;
    if (!(vOracleParameter.Direction == ParameterDirection.Output))
    {
    vOracleParameter.Value = vParamValue;
    }
    return vOracleParameter;
    }
    private OracleConnection OpenOracleDBConn()
    {
    string vConnStr = string.Empty;
    string vOraDBName = System.Configuration.ConfigurationManager.AppSettings["OraDBName"];
    switch (vOraDBName)
    {
    case "MESDB_03":
    vConnStr = "Data Source=SZMESDB;Persist Security Info=True;User ID=MESDB_03;Password=MESDB;Unicode=True;";
    break;
    case "MESDBTEST_03":
    vConnStr = "Data Source=SZMESDB;Persist Security Info=True;User ID=MESDB_03;Password=MESDB;Unicode=True;";
    break;
    default:
    vConnStr = "Data Source=SZMESDB;Persist Security Info=True;User ID=MESDBTEST_03;Password=MESDB;Unicode=True;";
    break;
    }
    OracleConnection vOracleConnection = new OracleConnection(vConnStr);
    if (vOracleConnection.State != ConnectionState.Open)
    {
    vOracleConnection.Open();
    }
    return vOracleConnection;
    }
    private void CloseoracleDBConn(OracleConnection vOracleConnection)
    {
    if (vOracleConnection.State == ConnectionState.Open)
    {
    vOracleConnection.Close();
    }
    }
    private OracleDataReader CreateOracleDataReader(string vSql)
    {
    OracleConnection vOracleConn = OpenOracleDBConn();
    OracleCommand vOracleCommand = new OracleCommand(vSql, vOracleConn);
    OracleDataReader vOracleDataReader = vOracleCommand.ExecuteReader();
    return vOracleDataReader;
    }
    private OracleDataAdapter CreateOleDbDataAdapter(string vSql)
    {
    OracleConnection vOracleConn = OpenOracleDBConn();
    OracleDataAdapter vOracleDataAdapter = new OracleDataAdapter(vSql, vOracleConn);
    CloseoracleDBConn(vOracleConn);
    return vOracleDataAdapter;
    }
    public string GetDateTimeNow()
    {
    return System.DateTime.Now.ToString("u").Replace("Z", "").Replace("z", "");
    }
    private void WriteLog(string vMessage)
    {
    try
    {
    string vTempValue = string.Empty;
    string vFilePath = Application.StartupPath;
    string vXmlPath = System.Configuration.ConfigurationManager.AppSettings["LogAddress"];
    vXmlPath = vFilePath + vXmlPath;
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load(vXmlPath);
    XmlNode root = xmlDoc.SelectSingleNode("//root");
    XmlElement xe = xmlDoc.CreateElement("Node");//创建一个节点
    XmlElement xesub01 = xmlDoc.CreateElement("RowNum");
    xesub01.InnerText = root.ChildNodes.Count.ToString();
    xe.AppendChild(xesub01);//添加到节点中
    XmlElement xesub02 = xmlDoc.CreateElement("Message");
    xesub02.InnerText = vMessage;
    xe.AppendChild(xesub02);//添加到节点中
    XmlElement xesub03 = xmlDoc.CreateElement("InserTime");
    xesub03.InnerText = GetDateTimeNow();
    xe.AppendChild(xesub03);//添加到节点中
    root.AppendChild(xe);//添加到节点中
    xmlDoc.Save(vXmlPath);
    root = null;
    xmlDoc = null;
    }
    catch (Exception ex)
    {
    WriteLog(ex.Message);
    }
    }
    }

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告
    广告