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