📄 configdb.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 + -