예제 #1
0
        public static void DatabaseAdd(SqlBaseItemXml basemodel, SqlDatabaseItemXml item)
        {
            var templist = DBConfig.listdatabasexmlconfig[basemodel.Number];

            templist.SqlDatabaseList.Add(item);
            DBConfig.listdatabasexmlconfig[basemodel.Number] = templist;
        }
예제 #2
0
        public bool GetTable(SqlBaseItemXml basemodel, SqlServerItemXml item, SqlDatabaseItemXml item2)
        {
            var tablelist  = DBConfig.GetTableItemXmlConfigList(basemodel, item2.Number);
            var tablelist2 = tablelist.Where(m => m.IsUse == true && m.IsWrite == true).ToList();

            foreach (var tableobjectitem2 in tablelist2)
            {
                var temp3      = DBProxy.GetDBAccess(item.DBType).TableStorageSize(currentconnstrdatabase, tableobjectitem2.TableName);
                var temp3count = DBProxy.GetDBAccess(item.DBType).TableCount(currentconnstrdatabase, tableobjectitem2.TableName);
                if (tableobjectitem2.StorageSize > temp3 && tableobjectitem2.RowNum > temp3count)
                {
                    currenttable       = tableobjectitem2.TableName;
                    currenttablenumber = tableobjectitem2.Number;
                    isposition         = true;
                    return(isposition);
                }
                else
                {
                    new ManagerConfig().TableChangeIsWrite(tableobjectitem2);
                }
            }
            if (item2.TableNum > tablelist.Count() && item2.IsCreate)
            {
                var temptable = DBWrite.AddTable(currentconnstrdatabase, item, item2);
                currenttable       = temptable.TableName;
                currenttablenumber = temptable.Number;
                isposition         = true;
                return(isposition);
            }
            return(isposition);
        }
예제 #3
0
        public void DatabaseChangeIsUse(SqlDatabaseItemXml item, bool isuse = false)
        {
            var basemodel = DBConfig.GetBaseXmlConfig(item.BaseNumber);

            DBConfig.DatabaseRemove(basemodel, item);
            item.IsUse = isuse;
            DBConfig.DatabaseAdd(basemodel, item);
        }
예제 #4
0
        public static SqlDatabaseItemXml AddDatabase(string currentconnstrserver, SqlServerItemXml item)
        {
            var basemodel = DBConfig.GetBaseXmlConfig(item.BaseNumber);
            SqlDatabaseItemXml databasetempmodel = new SqlDatabaseItemXml();

            databasetempmodel.BaseNumber       = item.BaseNumber;
            databasetempmodel.ServerNumber     = item.Number;
            databasetempmodel.Number           = DBConfig.GetDatabaseNumber;
            databasetempmodel.DatabaseName     = basemodel.DatabasePrev + databasetempmodel.Number;
            databasetempmodel.StorageSize      = ((item.StorageSize - item.StorageSize / 5) - item.RetainStorageSize) / 10;
            databasetempmodel.TableNum         = basemodel.DefaultTableNum;
            databasetempmodel.IsWrite          = true;
            databasetempmodel.IsUse            = true;
            databasetempmodel.IsCreate         = true;
            databasetempmodel.StorageDirectory = item.StorageDirectory;
            DBConfig.DatabaseAdd(basemodel, databasetempmodel);

            DBProxy.GetDBAccess(item.DBType).DatabaseCreate(currentconnstrserver, databasetempmodel.DatabaseName, databasetempmodel.StorageDirectory);
            return(databasetempmodel);
        }
예제 #5
0
        public static SqlTableItemXml AddTable(string currentconnstr, SqlServerItemXml item, SqlDatabaseItemXml item2)
        {
            var             basemodel      = DBConfig.GetBaseXmlConfig(item.BaseNumber);
            SqlTableItemXml tabletempmodel = new SqlTableItemXml();

            tabletempmodel.BaseNumber     = item.BaseNumber;
            tabletempmodel.ServerNumber   = item.Number;
            tabletempmodel.DataBaseNumber = item2.Number;
            tabletempmodel.Number         = DBConfig.GetTableNumber;
            tabletempmodel.TableName      = basemodel.TablePrev + tabletempmodel.Number;
            tabletempmodel.IsWrite        = true;
            tabletempmodel.IsUse          = true;
            tabletempmodel.RowNum         = basemodel.DefaultTableRowNum;
            tabletempmodel.StorageSize    = (item2.StorageSize - item2.StorageSize / 5) / item2.TableNum;
            DBConfig.TableAdd(basemodel, tabletempmodel);
            DBProxy.GetDBHelper(item.DBType).ExecuteSql(currentconnstr, DBConfig.GetTableSql(basemodel, tabletempmodel.TableName));
            return(tabletempmodel);
        }
예제 #6
0
        public static bool Update(SqlBaseItemXml basemodel, long rowid, SqlServerItemXml servermodel, SqlDatabaseItemXml databasemodel, SqlTableItemXml tablemodel, Dictionary <string, object> updatefieldlist)
        {
            bool   revalue = false;
            string connstr = GetConnStr(basemodel, servermodel);
            string sqlstr  = string.Format("update {0}.dbo.{1} set {4} where {2}={3}", databasemodel.DatabaseName, tablemodel.TableName, basemodel.PrimarykeyName, rowid, GetSqlUpdate(basemodel, updatefieldlist));

            long temp = CommonHelper.ToLong(DBProxy.GetDBHelper(servermodel.DBType).ExecuteSql(connstr, sqlstr));

            if (temp > 0)
            {
                revalue = true;
            }
            return(revalue);
        }
예제 #7
0
        public static bool Delete(SqlBaseItemXml basemodel, long rowid, SqlServerItemXml servermodel, SqlDatabaseItemXml databasemodel, SqlTableItemXml tablemodel, SqlFieldItemXml fieldmodel)
        {
            bool   revalue = false;
            string connstr = GetConnStr(basemodel, servermodel);
            string sqlstr  = string.Format("delete from {0}.dbo.{1} where {2}={3}", databasemodel.DatabaseName, tablemodel.TableName, basemodel.PrimarykeyName, rowid);

            long temp = CommonHelper.ToLong(DBProxy.GetDBHelper(servermodel.DBType).ExecuteSql(connstr, sqlstr));

            if (temp > 0)
            {
                revalue = true;
            }
            return(revalue);
        }
예제 #8
0
 public static string GetConnStr(SqlBaseItemXml basemodel, SqlServerItemXml item, SqlDatabaseItemXml item2)
 {
     return(string.Format(basemodel.TemplateSqlConnDatabase, item.ServerName, item2.DatabaseName, item.ServerUserName, item.ServerUserPwd));
 }