Пример #1
0
        private DatabaseConect AnalysisConnectString(string connstr)
        {
            DatabaseConect db = new DatabaseConect();

            db.Server   = GetSubString(connstr, "data source=");
            db.Port     = GetSubString(connstr, ",") ?? "1433";
            db.Name     = GetSubString(connstr, "initial catalog=");
            db.UserId   = GetSubString(connstr, "user id=");
            db.Password = GetSubString(connstr, "password=");
            return(db);
        }
Пример #2
0
        /// <summary>
        /// 初始化数据
        /// </summary>
        private void InitData()
        {
            string configDir = GetDirectory();

            if (!Directory.Exists(configDir))
            {
                Directory.CreateDirectory(configDir);
            }
            string baseFilePath = configDir + FileName;

            if (!File.Exists(baseFilePath))
            {
                var temp = File.Create(baseFilePath);
                temp.Close();
                //并写入空值
                string jsonData = string.Empty;
                //[{"Name":"ArmyKnowledge",
                //"ConnectionString":"5fGMkdCNq5PYpZ7Hw/EFFBTDw/sfTwmQeQNfOUvzZS2Qr4+OGoxgT1/si/k9vHXwwpTrfhQj6MDGnDIhxRIoiQdm1L1vM3DbvjgaFciMe2RgcIpsZMeBcK0mDH9Qlk290/UKZWLHO1rJc/B9oSEnsutiBpKl8QF0kXOpqMv/ca8=",
                //"ProviderName":"System.Data.SqlClient"}]
                string connectStr = string.Empty;
                connectStr += string.Format(SQL_SERVER_FORMAT, "", "", "", "", "");
                jsonData    = "[{"
                              + "\"Name\":\"ArmyKnowledge\","
                              + "\"ConnectionString\":\"" + CryptoApi.AesEncrypt(connectStr) + "\","//需要加密保存
                              + "\"ProviderName\":\"System.Data.SqlClient\""
                              + "}]";
                File.WriteAllText(baseFilePath, jsonData);
            }
            else
            {
                string appInfo = File.ReadAllText(baseFilePath);
                appInfo = appInfo.Substring(1, appInfo.Length - 2);
                JObject        jo            = (JObject)JsonConvert.DeserializeObject(appInfo);
                string         connectionStr = CryptoApi.AesDecrypt(jo["ConnectionString"].ToString());//需要解密
                DatabaseConect db            = AnalysisConnectString(connectionStr);
                if (db == null)
                {
                    MessageBox.Show(this, "数据库连接字符串解析失败!");
                }
                else
                {
                    txtDbName.Text   = db.Name;
                    txtDbServer.Text = db.Server;
                    txtUserId.Text   = db.UserId;
                    txtPassword.Text = db.Password;
                }
            }
        }