private void Save()
        {
            bool keepOpen = false;

            try
            {
                DatabaseConfigManager.Save(tbx_user.Text, tbx_password.Text, tbx_database.Text, tbx_address.Text);
            }
            catch
            {
                Form form = new DatabaseUnavailable();
                form.ShowDialog();
                switch (form.DialogResult)
                {
                case DialogResult.Abort:
                    Environment.Exit(0);
                    break;

                case DialogResult.Yes:
                    keepOpen = true;
                    break;
                }
            }
            if (!keepOpen)
            {
                this.Close();
            }
        }
Example #2
0
        /// <summary>
        /// 快速创建命令
        /// </summary>
        /// <param name="dbid">数据库ID</param>
        /// <param name="con">连接对象</param>
        /// <returns>命令</returns>
        public static IDbCommand CreateCommand(int dbid, IDbConnection con)
        {
            var config = DatabaseConfigManager.GetConfig(dbid);
            var cmd    = con.CreateCommand();

            SetCommandPara(cmd, config);
            return(cmd);
        }
Example #3
0
        /// <summary>
        /// 快速创建命令
        /// </summary>
        /// <param name="dbConnectionInfo">连接对象</param>
        /// <returns>命令</returns>
        public static IDbCommand CreateCommand(IDbConnectionInfo dbConnectionInfo)
        {
            var config = DatabaseConfigManager.GetConfig(dbConnectionInfo.DBID);
            var cmd    = dbConnectionInfo.DbConnection.CreateCommand();

            SetCommandPara(cmd, config);
            return(cmd);
        }
Example #4
0
        /// <summary>
        /// 根据DBID获取数据库访问连接池对象
        /// </summary>
        /// <param name="dbid">数据库编号ID</param>
        /// <returns>数据库访问连接对象</returns>
        internal static DbConnectionPool GetConnectionPoolByDBID(int dbid)
        {
            DbConnectionPool dbConnectionPool;

            if (!_dbConnectionPoolDic.TryGetValue(dbid, out dbConnectionPool))
            {
                var            config        = DatabaseConfigManager.GetConfig(dbid);
                IDBFactory     dbFactory     = DBFactoryManager.GetDBFactory(config);
                IDBInteraction dbInteraction = dbFactory.GetDBInteraction();
                AddDbConnectionPool(config, dbInteraction);

                if (!_dbConnectionPoolDic.TryGetValue(dbid, out dbConnectionPool))
                {
                    throw new ApplicationException(string.Format("连接池中不包含数据库编号ID为:{0}的连接信息", dbid));
                }
            }

            return(dbConnectionPool);
        }
Example #5
0
        private void UCDBStructControl_Load(object sender, EventArgs e)
        {
            if (this.DesignMode)
            {
                return;
            }

            try
            {
                DBTableInfoEx.ShowFieldChanged = this.ShowFieldChanged;
                List <DatabaseConfig> items = DatabaseConfigManager.GetAllConfigItems();
                DropdownBoxHelper.BindingIEnumerableGenericToComboBox <DatabaseConfig>(comboBoxDB, items, nameof(DatabaseConfig.ConName));
                dgvTables.ShowData(this._tableBindingList.DataSource, "UCDBStructControl.dgvTables", null, null, new string[] { nameof(DBTableInfoEx.ShowField) });
                dgvTableFields.ShowData(this._fieldInfoBindingList.DataSource, "UCDBStructControl.dgvTableFields");
                dgvIndex.ShowData(this._indexInfoBindingList.DataSource, "UCDBStructControl.dgvIndex");
                this.checkMultTable_CheckedChanged(sender, e);
            }
            catch (Exception ex)
            {
                Loger.Error(ex);
                MessageBox.Show(ex.Message);
            }
        }
Example #6
0
        private void FTest_Load(object sender, EventArgs e)
        {
            if (this.DesignMode)
            {
                return;
            }

            var redirectAppenderToUI = (RedirectAppender)Loger.GetAppenderByName(null, "RedirectToUI");

            if (redirectAppenderToUI != null)
            {
                redirectAppenderToUI.RedirectOuput += RedirectAppenderToUI_RedirectOuput;;
            }


            List <DatabaseConfig> itemList = DatabaseConfigManager.GetAllConfigItems();

            DropdownBoxHelper.BindingIEnumerableGenericToComboBox <DatabaseConfig>(comboBoxDB, itemList, nameof(DatabaseConfig.ConName), itemList.Where(t => { return(t.DBID == _pssqlDbid); }).FirstOrDefault());

            EFDbContext.OutputLog = true;

            EFEntityTypeManager.RegisterEntityType(3, typeof(DotnetWinFormApp.DB.Stu));
            EFEntityTypeManager.RegisterEntityType(5, typeof(DotnetWinFormApp.DB.Stu));
        }
        /// <summary>
        /// 获取数据库访问实例
        /// </summary>
        /// <param name="dbid">数据库编号ID</param>
        /// <returns>数据库访问实例</returns>
        public static IDBAccess GetDBAccessInstance(int dbid)
        {
            IDBAccess dbAccess;

            if (!_dbAccessDic.TryGetValue(dbid, out dbAccess))
            {
                lock (_dicDBAccessLock)
                {
                    if (!_dbAccessDic.TryGetValue(dbid, out dbAccess))
                    {
                        var        dbBConfigItem = DatabaseConfigManager.GetConfig(dbid);
                        IDBFactory dbFactory     = DBFactoryManager.GetDBFactory(dbBConfigItem);
                        dbAccess = dbFactory.CreateDBAccess(dbBConfigItem);

                        if (!_dbAccessDic.TryAdd(dbid, dbAccess))
                        {
                            Loger.Warn(string.Format("添加数据库编号ID为{0}数据库访问实例失败", dbid), null);
                        }
                    }
                }
            }

            return(dbAccess);
        }
        public DatabaseSettingsForm()
        {
            InitializeComponent();
            this.BackColor = Resources.Colors.Background;
            foreach (Control control in this.Controls)
            {
                control.ForeColor = Resources.Colors.PrimaryText;
                if (control is TextBox)
                {
                    control.BackColor = Resources.Colors.ContainterBackground;
                    (control as TextBox).BorderStyle = BorderStyle.FixedSingle;
                }
            }
            if (!DatabaseConfigManager.Exists())
            {
                DatabaseConfigManager.Create();
            }
            DatabaseConfig config = DatabaseConfigManager.Load();

            tbx_user.Text     = config.Username;
            tbx_password.Text = config.Password;
            tbx_database.Text = config.Database;
            tbx_address.Text  = config.Address;
        }