oracle cs,Oracle.cs

using System;

using System.Collections.Generic;

using System.Data;

using Oracle.ManagedDataAccess.Client;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace WinFormTest

{

public class Oracle

{

private Oracle() { }

public Oracle(string Host, string Port, string Service_Name,string UserID,string PassWord)

{

connStr= string.Format(@"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)

(HOST={0})(PORT={1})))(CONNECT_DATA=(SERVICE_NAME={2})));Persist Security Info=True;User ID={3};Password={4}",

Host,

Port,

Service_Name,

UserID,

PassWord);

}

public static string connStr = string.Empty;

private static Oracle instance = new Oracle();

private static object synObj = new object();

///

/// 单例

///

public static Oracle Instance

{

get

{

lock (synObj)

{

if (instance == null)

instance = new Oracle();

}

return instance;

}

}

///

/// 执行查询语句,返回DataSet

///

/// 查询语句

/// DataSet

public DataSet Query(string strSQL)

{

using (OracleConnection connection = new OracleConnection(connStr))

{

DataSet ds = new DataSet();

try

{

connection.Open();

OracleDataAdapter command = new OracleDataAdapter(strSQL, connection);

command.Fill(ds, "ds");

connection.Close();

}

catch (Exception ex)

{

connection.Close();

return null;

}

return ds;

}

}

///

/// 执行SQL语句,返回影响的记录数

///

/// SQL语句

/// 影响的记录数

public int ExecuteSql(string strSQL)

{

using (OracleConnection connection = new OracleConnection(connStr))

{

connection.Open();

try

{

using (OracleCommand cmd = new OracleCommand(strSQL, connection))

{

int rows = cmd.ExecuteNonQuery();

connection.Close();

return rows;

}

}

catch (Exception ex)

{

connection.Close();

return -1;

}

}

}

///

/// 执行SQL语句,返回影响的记录数

///

/// SQL语句

/// 影响的记录数

public int ExecuteSql(IList sqlList)

{

int result = 0;

using (OracleConnection connection = new OracleConnection(connStr))

{

try

{

connection.Open();

OracleTransaction oraTran = connection.BeginTransaction();

foreach (string strSQL in sqlList)

{

//using (OracleCommand cmd = new OracleCommand(strSQL, connection, oraTran))

//{

// try

// {

// result += cmd.ExecuteNonQuery();

// }

// catch (Exception ex)

// {

// oraTran.Rollback();

// connection.Close();

// return -1;

// }

//}

using (OracleCommand cmd = new OracleCommand(strSQL, connection))

{

try

{

cmd.Transaction = oraTran;

result += cmd.ExecuteNonQuery();

}

catch (Exception ex)

{

oraTran.Rollback();

connection.Close();

return -1;

}

}

}

oraTran.Commit();

connection.Close();

}

catch (Exception ex)

{

connection.Close();

return -1;

}

}

return result;

}

///

/// 执行一条计算查询结果语句,返回查询结果(object)。

///

/// 计算查询结果语句

/// 查询结果(object)

public object GetSingle(string strSQL)

{

using (OracleConnection connection = new OracleConnection(connStr))

{

using (OracleCommand cmd = new OracleCommand(strSQL, connection))

{

try

{

connection.Open();

object obj = cmd.ExecuteScalar();

connection.Close();

if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))

{

return null;

}

else

{

return obj;

}

}

catch (Exception ex)

{

connection.Close();

return null;

}

}

}

}

}

}

一键复制

编辑

Web IDE

原始数据

按行查看

历史

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值