/****************************** * 说明:数据库连接参数配置类 * 创建人:龚宇超 * 创建日期:2017-07-24 * 修改人: * 修改日期: * 修改备注: * 版本:1.0.0.0 ******************************/ using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Win32; using System.Data.SqlClient; using System.Data; using Lskj.Util; using System.Net; using System.Net.Sockets; using System.Threading; using System.Diagnostics; using System.Windows.Forms; using System.Data.Odbc; namespace Lskj.Core { /// /// 数据库连接参数配置类 /// public sealed class DBConfig { private static string _regKey = "AA_LS_Erp V2.0"; private static DBConfig _instance = null; /// /// DBConfig静态单例对象 /// /// The instance. public static DBConfig Instance { get { if (_instance == null) { _instance = new DBConfig(); _instance.ReadConfig(); _instance.WriteConfig(); } return _instance; } } /// /// 数据库名 /// public string DataBase; /// /// 帐套 /// public string DataBook; /// /// 服务器名 /// public string ServerName; /// /// 登录名 /// public string LoginName; /// /// 通知员工ID /// public string NoticeUserID; /// /// 通知员工姓名 /// public string NoticeUserName; /// /// 系统筛选id /// public string ProGramme; /// /// 文件升级标志 /// public bool UpdateSet; /// ///智能客户端启动 /// public bool SmallClient; /// ///智能客户端启动 /// public bool NoticeClient; /// /// The notice show window /// public bool NoticeShowWindow; /// /// The notice flicker /// public bool NoticeFlicker; /// /// The notice exit /// public bool NoticeExit; /// /// 内外外网标志 /// public bool Internet; /// /// 是否注册过高拍仪 /// public bool IsCmpCapture; /// /// 班次 /// public string BCName; //public string Connection1 = "QkYyNjE3QTcxQjc4RDFFMDlERjlFMDc1QkIyMDVGRjdDRUIyMEVEOUM5NjBCQjc5NTA5NzdEQTk0MkNEQTE1RTFGMEIwMThFNUJDQTE0RjE1NjQwM0U5QTYxMThCMDY2MTA4NkE2OTIxNTNBQjQ0MjRDMDIwM0Q5OEVDQjkwQTVCN0RENjJBODkxNUNGOUM5OEI5RTEzN0E3ODBERjg2OURCNEQ5QTlCMzhCQUZGQ0FBNUREMjY4M0FCODg2RTkxMDRERTQ3MjRGQTE1MERDOTJGRDFDRjY2REQ1ODYyREUzN0RGM0ZBQzc4NzJENjIwNDg4RUUyNkI3ODE1RjlDM0I0MjNCQzcyOENDN0VDMTg0QUU0MjgwMDVDMENBOUZF"; public string Connection2 = "Njk5NTI5NDE5RUI2ODM4MEQ5MEJFQkU3NzM3REQxQThDREM4NzRFNUY3QzYzMkVEOEEzODRBMzJBRjIwRUY4Njg4Qjg3M0Q1MTY3MjAxRkY2OTNGMzk3MUZBRjMxMzdDQ0U4RjMxQUVERjdBQzI5MEExNjQ3ODlDNkEwODVBMUJDMUJGN0U2RUJENkMwQzhERTFCNzgyMjg1MjBFQkE2MkU4NjMyQjBEMDY0QjQ0MzVDQ0QxMjMzQTA3NjI3QjQyOTczQUJBMUI0OUNGMkE5REYzOTI2NDFBRTY3QzFGQTJCRDFDNUIzQ0FCMzA4QzEwMjc2MTI5QjU2MzgxMjBDN0MwNUFGNUU3QTdBRTI2REQzREEyM0FFM0I2MUVGMzYw"; public string Connection3 = "NjQ0OTQzRTY1MkUwQUUxQTdCQTlBRjkwRjI4QkU1MTRDNTc5RDI0RTg5Q0Q5RjU2QjQ3RjY4REY2NEY1QjM5QUNCREIzMTBDRUMxREQ5NzlBREUxMjQ5NzdCM0Y0RUM1Qjc2MEI3MzFFNTcxQ0Q5MzA5RTI5RUFGNDQxOTMyRkQ1RTdDNjcyRTFCQjUyM0Y4RkE2NEE2N0QyNzEyQzVCRTcyOUJBRTYxMjMzRjYwMjg5NzIyRjJGOTdDMzE0NTQ0MjIwQzFBNEI4MDI0OUNFNTJDMzlEOEMwNjY1MjA3M0YyQkQ0NDRDOTg5REMxMUVCMDM1MUU0OTEzQzQwRDBDQ0E3Rjk4QjgyNzRFRjYzQzBEMDcxQzVFMjdCMTIxNkE2MzI0MEIyNDkwOERGNUFDMjRGMEYxRkFFNzJEQTIwM0EyRjU0N0U4OEFENDBEMjEzNUY1OTI5NUUxRDM1N0I0Rg=="; public string Connection4 = "NjU3MDQ0Q0JDREI0Mjc2OUY4RTBCOEIxMjBDOEM4MEQ2QUMwMjNEOUVDOTQ4NEMwRDE2RDdEMTQwNEQwODg3MURBMzRENkIxNEFENEYwQTcyMkEwMTE0NDhDM0NGNUZBQ0U4RjMxQUVERjdBQzI5MEExNjQ3ODlDNkEwODVBMUI3NDlCRkU1RDBGQUI0RUJFODlFNkE5MzlFNkIzODAyODEyRjFGQzE4NjVCMEM2OThDRDgzRUY4M0ZGNEExRkEyRUFGQzE4NTg1QkZBMEMwRTI5NzAzQzkzMzY2RUU0Mzc5RkI4NkVDRTM3NDNBMTk0ODJBQTNDNUY2RDlGMzU3MUEyOUEzOEI5RjA3NzA2NjM1NUNFM0U5RjNCNzMzM0RBMUY2MDkxQUZDQ0YxN0Q5MDgwOEY0NzZEMUM3MjQyMkRBOUY2N0NFRUE3MTkwNzk0OTA2NUYyRDJBMEM4RUU4OQ=="; public string Connection1 = "MzYwRTRBN0VDQjhEQTVERDBBNDA1RDg2N0VFRkQwMEM5QjNEMzI1OUFBMUFERUIyMTU0NTJDRTE4MDZEQzNFNzcxODdERTc0NjhFRDM5OEMyNkUwNzEzRUI0ODkwNkE1M0RBRkVFQjQzNDI2QTk1RTlCRDEyQzE3NkNFRURERDdCOTc0RUJCOUE1NTE5NDYxOEY0RUIxQUQwQzgyRjhBMw=="; /// /// 说明:读取注册表配置 /// 创建人:龚宇超 /// 创建日期:2017-08-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// public void ReadConfig() { RegistryKey regKey = Registry.CurrentUser; try { RegistryKey erpKey = regKey.CreateSubKey("AA_LS_Erp V2.0"); erpKey.CreateSubKey("File"); } catch (Exception) { } RegistryKey subKey = regKey.OpenSubKey(_regKey); subKey = subKey.OpenSubKey("File", true); DataBase = subKey.GetValue("datastr", "") + ""; ServerName = subKey.GetValue("ServerName", "") + ""; LoginName = subKey.GetValue("LoginName", "") + ""; UpdateSet = subKey.GetValue("UpdateSet", "0") + "" == "1" || subKey.GetValue("UpdateSet", "0") + "" == "True" ? true : false; SmallClient = subKey.GetValue("SmallClient", "0") + "" == "1" || subKey.GetValue("SmallClient", "0") + "" == "True" ? true : false; NoticeClient = subKey.GetValue("NoticeClient", "0") + "" == "1" || subKey.GetValue("NoticeClient", "0") + "" == "True" ? true : false; Internet = subKey.GetValue("Internet", "1") + "" == "0" ? true : false; ProGramme = subKey.GetValue("ProGramme", "") + ""; NoticeUserName = subKey.GetValue("NoticeUserName", "") + ""; NoticeUserID = subKey.GetValue("NoticeUserID", "") + ""; NoticeShowWindow = subKey.GetValue("NoticeShowWindow", "0") + "" == "1" || subKey.GetValue("NoticeShowWindow", "0") + "" == "True" ? true : false; NoticeFlicker = subKey.GetValue("NoticeFlicker", "0") + "" == "0" || subKey.GetValue("NoticeFlicker", "0") + "" == "False" ? false : true; NoticeExit = subKey.GetValue("NoticeExit", "0") + "" == "1" || subKey.GetValue("NoticeExit", "0") + "" == "True" ? true : false; if (subKey.GetValue("IsCmpCapture") == null) { subKey.SetValue("IsCmpCapture", 0); } IsCmpCapture = subKey.GetValue("IsCmpCapture", "0") + "" == "1" || subKey.GetValue("IsCmpCapture", "0") + "" == "True" ? true : false; try { DataBook = subKey.GetValue("DataBook", "") + ""; } catch (Exception) { } } /// /// 说明:激活高拍仪控件 /// 创建人:龚宇超 /// 创建日期:2018-07-31 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// public void SetActiveOcx(string subkeyName) { RegistryKey regKey = Registry.CurrentUser; RegistryKey subKey = regKey.OpenSubKey(_regKey); subKey = subKey.OpenSubKey("File", true); subKey.SetValue(subkeyName, 1); } /// /// 说明:写配置 /// 创建人:龚宇超 /// 创建日期:2017-08-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// public void WriteConfig() { RegistryKey regKey = Registry.CurrentUser; RegistryKey subKey = regKey.OpenSubKey(_regKey); subKey = subKey.OpenSubKey("File", true); subKey.SetValue("datastr", DataBase); subKey.SetValue("ServerName", ServerName); subKey.SetValue("LoginName", LoginName); subKey.SetValue("UpdateSet", UpdateSet); subKey.SetValue("SmallClient", SmallClient); subKey.SetValue("NoticeClient", NoticeClient); subKey.SetValue("DataBook", DataBook); subKey.SetValue("NoticeUserID", NoticeUserID); subKey.SetValue("ProGramme", ProGramme); subKey.SetValue("NoticeUserName", NoticeUserName); subKey.SetValue("NoticeShowWindow", NoticeShowWindow); subKey.SetValue("NoticeFlicker", NoticeFlicker); subKey.SetValue("NoticeExit", NoticeExit); subKey.Close(); } /// /// 说明:获取C#连接字符串 /// 创建人:龚宇超 /// 创建日期:2017-08-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// System.String. public string GetConnection() { return string.Format(AESUtil.Decrypt(Connection1), ServerName, DataBase); } /// /// 说明:获取delphi连接字符串 /// 创建人:龚宇超 /// 创建日期:2017-08-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// System.String. public string GetDelphiConnection() { return string.Format(AESUtil.Decrypt(Connection2), ServerName, DataBase); } /// /// 说明:获取 /// 创建人:龚宇超 /// 创建日期:2018-03-28 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// System.String. public string GetLsCrmConnection() { return Internet ? AESUtil.Decrypt(Connection3) : AESUtil.Decrypt(Connection4); } /// /// 说明:创建数据库连接 /// 创建人:龚宇超 /// 创建日期:2017-08-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// true if XXXX, false otherwise. public bool CreateConnection() { string connStr = GetConnection(); if (OdbcHelper._connection != null) { try { OdbcHelper._connection.Close(); OdbcHelper._connection.Dispose(); } catch (Exception) { } OdbcHelper._connection = null; } try { OdbcHelper._connection = new OdbcConnection(connStr);//因为修改了数据库属性,无法直接连接sql server,就更改了连接语句,并把SqlConnection改成OdbcHelper OdbcHelper._connection.Open(); return true; } catch (Exception ex) { MessageBox.Show(ex.Message); } return false; } } }