datahelper.cs

来自「.net的数据持久层」· CS 代码 · 共 73 行

CS
73
字号
using System;
using System.Reflection;
using System.Data;
//using System.Data.OracleClient;

namespace Platform.Data {

	public class DataHelper {

		private static readonly string CONN_DRIVER_ASSEMBLY		= "Platform.DataDriver.Assembly";
		private static readonly string CONN_DRIVER_CLASS		= "Platform.DataDriver.Class";
		private static readonly string CONN_STRING				= "Platform.DataDriver.ConnectionString";

		private static string _ConnString;
		private static IDbDriver _DataDriver;

		static DataHelper() {
			string driverAssembly = ConfigHelper.GetValue( CONN_DRIVER_ASSEMBLY );
			string driverClass = ConfigHelper.GetValue( CONN_DRIVER_CLASS );
			_ConnString = ConfigHelper.GetValue( CONN_STRING );
			_DataDriver = (IDbDriver)Assembly.Load( driverAssembly ).CreateInstance( driverClass );			
		}		
		
		public static IDbDriver DataDriver{
			get { return _DataDriver; }
		}
		public static DataSet Query(ISqlStatement sql ){
			return DataDriver.Query( _ConnString, sql );
		}

		public static DataSet Query(ISqlStatement sql,string _filepath )
		{
			CheckConnStr(_filepath);
			return Query(sql );
		}
		public static int Update( ISqlStatement sql ){
			return DataDriver.Update( _ConnString, sql );
		}

		/// <summary>
		/// 为DBF数据使用,不固定其路径
		/// </summary>
		/// <param name="sql"></param>
		/// <param name="_filepath"></param>
		/// <returns></returns>
		public static int Update( ISqlStatement sql ,string _filepath)
		{
			CheckConnStr(_filepath);
			return Update(sql);
		}

		public static object QueryScalar( ISqlStatement sql ){
			object o = DataDriver.QueryScalar( _ConnString, sql);
			if( o.GetType() == typeof(DBNull)){
				return null;
			}
			return o;
		}
		public static object QueryScalar( ISqlStatement sql ,string _filepath )
		{
			CheckConnStr(_filepath);
			return QueryScalar(sql);
		}
		private static void CheckConnStr(string _filepath)
		{
			if (_ConnString.IndexOf("{0}")!=-1)
			{
				_ConnString = string.Format(_ConnString , _filepath);
			}
		}
	}
}

⌨️ 快捷键说明

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