zhongxinWang

  在配置文件中保存某个目标表中最新记录的时间,在下次根据这个时间久可以筛选出新增的数据,然后再次更新这个配置,用于从一个数据库中获取新增数据到另外一个数据库中,不用对大量数据比对,当然这种方式用于只有新增数据的情况。

  另外可以使用单纯的xml操作方式去操作配置文件,但是没有像操作appsetting那样便捷。

配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <!--MES系统数据库-->
    <add name="connMes" connectionString="Data Source=localhost;Initial Catalog=suncome;User ID=sa;Password=bd@002;" providerName="System.Data.SqlClient"/>
    <!--本地数据库-->
    <add name="connLocal" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\WZX\盛康光伏产品追溯系统\数据\zhongsen\zhongsen.mdb;Jet OLEDB:Database Password=;Persist Security Info=False"/>
  </connectionStrings>
  <appSettings>
    <!--最后一次修改的时间-->
    <add key="LeastTime" value="2013-07-25"/>
  </appSettings>
</configuration>

代码:

//更改配置文件中最新数据时间
private static void SaveLeastTime(DateTime dateTime)
{
    Console.WriteLine(dateTime.ToString("yyyy-MM-dd HH:mm:ss"));

    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

    //获取appSettings节点
    AppSettingsSection appSettings = (AppSettingsSection)config.GetSection("appSettings");

    //删除name,然后添加新值
    appSettings.Settings.Remove("LeastTime");
    appSettings.Settings.Add("LeastTime", dateTime.ToString("yyyy-MM-dd HH:mm:ss"));

    //保存配置文件
    config.Save();

    //配置文件是程序启动的时候一次加载,修改如果想获取当前值只有刷新配置文件
    ConfigurationManager.RefreshSection("appSettings");

    Console.WriteLine(ConfigurationManager.AppSettings["LeastTime"]);
}

 

ConfigurationManager.AppSettings["Path"].ToString();

 

遍历AppSettings

//获取所有的AppSettings节点,进行遍历
string[] names = ConfigurationManager.AppSettings.AllKeys;
NameValueCollection appStgs = ConfigurationManager.AppSettings;
for (int i = 0; i < appStgs.Count; i++)
{
    MessageBox.Show(string.Format("#{0} Name: {1} Value: {2}", i, names[i], appStgs[i]));
}

 

 

分类:

技术点:

相关文章: