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

📄 configdb.cs

📁 用C#实现的取得CellID和LAC的程序源代码!
💻 CS
字号:
using System;
using System.Collections;
using System.Data;
using System.IO;
using System.Reflection;

using NiceTracker.Libraries;

namespace NiceTracker.Config
{
	/// <summary>
	/// Summary description for ConfigDB.
	/// </summary>
	public class ConfigDB
	{	
		private const string filename = "config.xml";

		private DataSet dsData = new DataSet( "config" );
		private DataTable dtConfig = null;	

		public ConfigDB()
		{			
		}

		public void Load()
		{			
			string fullFilename = MiscLib.ToFilename( DBPath, filename );

			if ( !File.Exists( fullFilename ) )
			{			
				dtConfig = setupConfigDB( dsData );

				dsData.WriteXml( fullFilename );
			}
			else
			{
				dsData.ReadXml( fullFilename );
				
				dtConfig = setupConfigDB( dsData );				
			}
		}

		
		public void Save()
		{
			string fullFilename = MiscLib.ToFilename( DBPath, filename );

			dsData.WriteXml( fullFilename );
		}

		private DataTable setupConfigDB( DataSet ds )
		{
			DataTable dt = null;
			
			if ( ds.Tables.Contains( "events" ) )
				dt = ds.Tables[ "events" ];
			else
			{
				dt = new DataTable( "events" );
				ds.Tables.Add( dt );
			}

			if ( !dt.Columns.Contains( "name" ) )
				dt.Columns.Add( "name", typeof( string ) );
			if ( !dt.Columns.Contains( "value" ) )
				dt.Columns.Add( "value", typeof( string ) );

			return dt;
		}

		public void Clear()
		{
			dtConfig.BeginLoadData();
			dtConfig.Clear();
			dtConfig.EndLoadData();
		}

		public void Add( string name, string val )
		{			
			DataRow dr = dtConfig.NewRow();
			dr[ "name" ] = name;
			dr[ "value" ] = val;
			dtConfig.Rows.Add( dr );
		}

		public void Add( Hashtable ht )
		{
			foreach ( string key in ht.Keys )
			{
				Add( key.ToString(), ht[ key ].ToString() );
			}
		}

		public Hashtable GetConfig()
		{
			Hashtable ht = new Hashtable();

			foreach ( DataRow dr in dtConfig.Rows )
			{
				ht.Add( dr[ "name" ].ToString(), dr[ "value" ].ToString() );
			}

			return ht;
		}

		public static string DBPath
		{
			get
			{
				return Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName);
			}
		}

	}
}

⌨️ 快捷键说明

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