⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 database.cs

📁 数据操作WEBSERVER,支持代码直接访问数据库和传输数据
💻 CS
字号:
using System;
using System.Data.OracleClient;
using System.Data;
using DataMiddleware;

namespace BackgroudManager
{
	/// <summary>
	/// Function:数据库操作
	/// Author:wxl
	/// Date: 2007-04-06
	/// </summary>
	public class Database
	{

		#region 静态变量
		private static IDataAccess m_DB = null;
		//data source=TSMCIS;user id=TSMCIS;password=TSMCIS;Connection Lifetime=90;Max Pool Size=5

		private static string _DataBaseName = "TSMCIS";		//数据库名称
		private static string _UserName = "TSMCIS";			//用户名
		private static string _Password = "ICTSDCYUS";			//密码
		private static string _OldPassword = "TSMCIS";			//密码

		private static string _Port = "8086";				//端口号
		private static string _ServerIP = "198.216.2.80";	//服务器IP地址
		private static string _DataAccessMethod = "Localhost";//访问方式

		#endregion

		/// <summary>
		/// 获取数据库名称
		/// </summary>
		public static string DBName
		{
			get
			{
				return _DataBaseName;
			}
		}

		/// <summary>
		/// 获取用户名称
		/// </summary>
		public static string DBUserName
		{
			get
			{
				return _UserName;
			}
		}

		/// <summary>
		/// 获取密码
		/// </summary>
		public static string DBPsw
		{
			get
			{
				string flag = System.Configuration.ConfigurationSettings.AppSettings["NewPassword"].ToUpper();

				if(flag == "TRUE")
				{
					return _Password;
				}
				else
				{
					return _OldPassword;
				}
			}
		}

		/// <summary>
		/// 获取本地或者远程连接方法
		/// </summary>
		public static string DataAccessMethod
		{
			get
			{
				return _DataAccessMethod;
			}
		}

		/// <summary>
		/// 获取端口
		/// </summary>
		public static string Port
		{
			get
			{
				return _Port;
			}
		}

		/// <summary>
		/// 获取服务器IP
		/// </summary>
		public static string ServerIP
		{
			get
			{
				return _ServerIP;
			}
		}

		/// <summary>
		/// 获取最终字符串连接
		/// </summary>
		/// <returns></returns>
		public static string Connection()
		{
			return GetCnnString(DBUserName,DBUserName,DBPsw);
		}
		/// <summary>
		/// 获取连接字符串
		/// Author:wxl
		/// Date:2007-04-13
		/// </summary>
		/// <param name="databaseName"></param>
		/// <param name="userName"></param>
		/// <param name="password"></param>
		/// <returns></returns>
		public static string GetCnnString(string databaseName, string userName, string password)
		{
			return string.Format("data source=\"{0}\";user id={1};password={2};Connection Lifetime=90;Max Pool Size=5", new object[] {databaseName, userName, password });
		}


		///<summary>
		/// 取得数据库接口
		/// </summary>
		/// <returns>返回数据库接口</returns>
		static private IDataAccess GetDB()
		{
			try
			{
				//通过数据工厂返回数据库接口
				IDataAccess DB = Database.GetAccess();

				return DB;
			}
			catch (Exception ex)
			{
				throw (ex);
			}
		}

		/// <summary>
		/// 获得数据访问接口
		/// </summary>
		/// <returns>返回数据访问接口</returns>
		static public IDataAccess GetAccess()
		{
			try
			{
				//远程方式
				if (DataAccessMethod == "Remote")
				{
					if (m_DB == null)
					{
						RemoteDataAccess obj = (RemoteDataAccess)Activator.GetObject(typeof(RemoteDataAccess)
							, "tcp://" + ServerIP + ":" + Port + "/RemoteAccess");
						m_DB = obj.GetDataAccess();
					}
				}

				//本地方式
				if (DataAccessMethod == "Localhost")
				{
					DatabaseProperty DP = new DatabaseProperty();

					//DP.ConnectionString = m_ConnectionString;
					DP.ConnectionString = Connection();
					DP.DatabaseType = DatabaseType.Oracle;

					m_DB = DataAccessFactory.CreatDataAccess(DP);
				}

				return m_DB;
			}
			catch (Exception ex)
			{
				throw (ex);
			}
		}

		/// <summary>
		/// ExecuteScalar带参数的SQL语句
		/// </summary>
		/// <param name="sql"></param>
		/// <param name="parameters"></param>
		/// <returns>Object</returns>
		public static object ExecuteScalar(string sql, OracleParameter[] parameters)
		{
			object obj1 = null;
			OracleCommand command1 = Database.GetCommand();
			command1.CommandText = sql;
			foreach (OracleParameter parameter1 in parameters)
			{
				command1.Parameters.Add(parameter1);
			}
			try
			{
				//command1.Connection.Open();
				obj1 = command1.ExecuteOracleScalar();
			}
			catch 
			{
               
			}
			finally
			{
				command1.Connection.Close();
			}
			return obj1;
		}

		/// <summary>
		/// 获取连接Command
		/// </summary>
		/// <returns></returns>
		public static OracleCommand GetCommand()
		{
			DatabaseProperty DP = new DatabaseProperty();

			DP.ConnectionString = Connection();
			DP.DatabaseType = DatabaseType.Oracle;

			OracleCommand sqlCommond = CreatDataAccess(DP).CreateCommand();
			//DB.Close();
			return sqlCommond;
		}

		/// <summary>
		/// 连接
		/// </summary>
		/// <param name="cnnString"></param>
		/// <returns></returns>
		public static OracleConnection GetCnn(string cnnString)
		{
			return new OracleConnection(cnnString);
		}

		/// <summary>
		/// 创建Oracle连接
		/// </summary>
		/// <param name="DP"></param>
		/// <returns></returns>
		public static OracleConnection CreatDataAccess(DatabaseProperty DP)
		{
			OracleConnection oracleCmd = GetCnn(DP.ConnectionString);
			return oracleCmd;
		}

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -