/// <summary> /// 本方法可以得到配置文件中的数据类型映射信息. /// </summary> /// <param name="doc">配置文件对象</param> /// <param name="dbType">数据库类型</param> /// <returns>包含数据类型映射信息的表对象</returns> private static DataTable GetDataTypeMapping(XmlDocument doc, string dbType) { //得到xml数据查询字符串. string xpath = ""; if (dbType.Equals("SqlServer")) { xpath = "/Setting/DataTypeMapping/SqlServer/item"; } else if (dbType.Equals("Access")) { xpath = "/Setting/DataTypeMapping/MSAccess/item"; } else { xpath = "/Setting/DataTypeMapping/Oracle/item"; } //得到数据映射信息集合. XmlNodeList nodes = doc.SelectNodes(xpath); XmlNode node = null; //得到将包含数据类型映射信息的表对象. DataTable table = ToolSetting.GetTableStructure(); //将数据类型映射信息填充到表对象中. for (int i = 0; i < nodes.Count; i++) { node = nodes[i]; table.Rows.Add(new object[] { node.ChildNodes[0].InnerText, node.ChildNodes[1].InnerText }); } //返回表对象. return(table); }
/// <summary> /// 本方法用于保存用户设置. /// </summary> /// <returns>是否保存成功</returns> public static bool SaveUserSetting() { bool succ = false; XmlDocument settings = new XmlDocument(); try { settings.Load("UserSetting.xml"); settings.SelectSingleNode("/Setting/Language").InnerText = ToolSetting.Language; settings.SelectSingleNode("/Setting/Postfix").InnerText = ToolSetting._postfix; settings.SelectSingleNode("/Setting/TabSize").InnerText = ToolSetting._tabsize.ToString(); settings.SelectSingleNode("/Setting/SavePath").InnerText = ToolSetting._savePath; settings.SelectSingleNode("/Setting/ServiceName").InnerText = ToolSetting._serviceName; settings.SelectSingleNode("/Setting/UserName").InnerText = ToolSetting._userName; settings.SelectSingleNode("/Setting/UserPassWord").InnerText = ToolSetting._userPassWord; ToolSetting.SaveReferenceList(settings); ToolSetting.SaveDataTypeMappingInfo(settings, "SqlServer"); ToolSetting.SaveDataTypeMappingInfo(settings, "Access"); ToolSetting.SaveDataTypeMappingInfo(settings, "Oracle"); settings.Save("UserSetting.xml"); succ = true; } catch (Exception ex) { MessageBox.Show(ex.Message); } return(succ); }
/// <summary> /// 本方法用于加载用户设置. /// </summary> /// <returns>是否成功加载</returns> public static bool LoadUserSettings() { bool success = false; XmlDocument settings = new XmlDocument(); try { settings.Load("UserSetting.xml"); ToolSetting._language = settings.SelectSingleNode("/Setting/Language").InnerText; ToolSetting._postfix = settings.SelectSingleNode("/Setting/Postfix").InnerText; ToolSetting._tabsize = Convert.ToInt32(settings.SelectSingleNode("/Setting/TabSize").InnerText); ToolSetting._savePath = settings.SelectSingleNode("/Setting/SavePath").InnerText; ToolSetting._serviceName = settings.SelectSingleNode("/Setting/ServiceName").InnerText; ToolSetting._userName = settings.SelectSingleNode("/Setting/UserName").InnerText; ToolSetting._userPassWord = settings.SelectSingleNode("/Setting/UserPassWord").InnerText; ToolSetting._references = ToolSetting.GetReferences(settings); ToolSetting._dalreferences = ToolSetting.GetDALReferences(settings); ToolSetting._idalreferences = ToolSetting.GetIDALReferences(settings); ToolSetting._controllerReferences = ToolSetting.GetControllerReferences(settings); ToolSetting._sqlDataMapping = ToolSetting.GetDataTypeMapping(settings, "SqlServer"); ToolSetting._accessDataMapping = ToolSetting.GetDataTypeMapping(settings, "Access"); ToolSetting._oracleDataMapping = ToolSetting.GetDataTypeMapping(settings, "Oracle"); success = true; } catch (Exception ex) { MessageBox.Show(ex.Message + "\n加载配置文件失败,应用程序将退出!"); Application.Exit(); } return(success); }