Exemplo n.º 1
0
        private void btnCreateDb_Click(Object sender, EventArgs e)
        {
            if (cbConn.SelectedItem == null)
            {
                return;
            }

            var dal = DAL.Create("" + cbConn.SelectedItem);

            if (dal == null)
            {
                return;
            }

            try
            {
                var md  = dal.Db.CreateMetaData();
                var set = new NegativeSetting();
                set.CheckOnly = false;
                set.NoDelete  = false;
                md.SetTables(set, Tables.ToArray());

                MessageBox.Show("成功建立" + Tables.Count + "张数据表!", Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show("建表失败!" + Environment.NewLine + ex.Message, Text);
            }
        }
Exemplo n.º 2
0
        /// <summary>实例化设置</summary>
        public Setting()
        {
            Debug    = true;
            ShowSQL  = true;
            SQLPath  = "";
            ConnMaps = "Conn2#Conn,Table3@Table";
            InitData = true;

            Cache    = new CacheSetting();
            Negative = new NegativeSetting();
            //Model = new ModelSetting();
            Oracle = new OracleSetting();
        }
Exemplo n.º 3
0
        private void CheckTable()
        {
            //if (Dal.CheckAndAdd(TableName)) return;

#if DEBUG
            DAL.WriteLog("开始{2}检查表[{0}/{1}]的数据表架构……", Table.DataTable.Name, Dal.Db.DbType, Setting.Current.Negative.CheckOnly ? "异步" : "同步");
#endif

            var sw = new Stopwatch();
            sw.Start();

            try
            {
                // 检查新表名对应的数据表
                var table = Table.DataTable;
                // 克隆一份,防止修改
                table = table.Clone() as IDataTable;

                if (table != null && table.TableName != TableName)
                {
                    FixIndexName(table);
                    table.TableName = TableName;
                }

                var set = new NegativeSetting
                {
                    CheckOnly = Setting.Current.Negative.CheckOnly,
                    NoDelete  = Setting.Current.Negative.NoDelete
                };

                // 对于分库操作,强制检查架构,但不删除数据
                if (Default != this)
                {
                    set.CheckOnly = false;
                    set.NoDelete  = true;
                }

                Dal.SetTables(set, table);
            }
            finally
            {
                sw.Stop();

#if DEBUG
                DAL.WriteLog("检查表[{0}/{1}]的数据表架构耗时{2:n0}ms", Table.DataTable.Name, Dal.DbType, sw.Elapsed.TotalMilliseconds);
#endif
            }
        }
Exemplo n.º 4
0
 /// <summary>实例化设置</summary>
 public Setting()
 {
     Negative = new NegativeSetting();
     Oracle   = new OracleSetting();
 }