Exemple #1
0
        public List <DataSummary> GetDbSummarise()
        {
            List <DataSummary> summarise = new List <DataSummary>();

            DbConnection conn = db.GetConnection();

            DataTable dt = conn.GetSchema("Tables");
            DataView  dv = dt.DefaultView;

            dv.Sort = "TABLE_NAME";

            conn.Close();
            SchemaContainer <XTableSchema> xtc = XTableSchemaContainer.Instance();

            foreach (DataRowView dr in dv)
            {
                DataSummary tbSummary = new DataSummary();
                tbSummary.Name        = dr["TABLE_NAME"].ToString();
                tbSummary.Description = dr["TABLE_NAME"].ToString();
                tbSummary.Caption     = dr["TABLE_NAME"].ToString();
                tbSummary.Type        = dr["TABLE_TYPE"].ToString();

                XTableSchema ts = xtc.GetItem(tbSummary.Name);
                if (xtc.Contains(tbSummary.Name))
                {
                    tbSummary.Caption     = ts.Title;
                    tbSummary.Description = ts.Description;
                }
                summarise.Add(tbSummary);
            }
            return(summarise);
        }
        public static XTableSchema BuildSrcTableSchema(string fullTableName)
        {
            string[]     paths    = fullTableName.Split(ContainerConst.NamePathChar);
            string       connName = paths[0];
            string       tbName   = paths[1];
            string       sql      = "Select * From [" + tbName + "]";
            XTableSchema ret      = CreateTableSchema(tbName, connName, sql);

            XTableSchemaContainer.Instance().AddItem(fullTableName, ret);
            return(ret);
        }
Exemple #3
0
        public List <ObjectDocket> GetTableSummarise(string folder)
        {
            List <ObjectDocket> ret = new List <ObjectDocket>();

            string[] tables = XTableSchemaContainer.Instance().GetIDByFolder(folder);

            for (int i = 0; i < tables.Length; i++)
            {
                ObjectDocket tabSum = new ObjectDocket();
                tabSum.Name = tables[i];
                XTableSchema tabsch = XTableSchemaContainer.Instance().GetItem(tables[i]);
                tabSum.Title = tabsch.Title;
                ret.Add(tabSum);
            }
            return(ret);
        }
Exemple #4
0
        public XTableSchema RefreshTableSchemaFields(string tableId)
        {
            XTableSchema tableSchema = null;

            if (XTableSchemaContainer.Instance().Contains(tableId))
            {
                tableSchema = XTableSchemaContainer.Instance().GetItem(tableId);
            }
            else
            {
                throw new XException("不能发现表(" + tableId + ")");
            }

            TableSchemaTools.RefreshSchemaFields(tableId, tableSchema);

            return(tableSchema);
        }
Exemple #5
0
        public XTableSchema GetTableSchema(string tableFullName)
        {
            XTableSchema tableSchema = null;

            if (XTableSchemaContainer.Instance().Contains(tableFullName))
            {
                tableSchema = XTableSchemaContainer.Instance().GetItem(tableFullName);
            }
            else if (TableSchemaTools.isSrcTable(tableFullName))
            {
                tableSchema = TableSchemaTools.BuildSrcTableSchema(tableFullName);
            }
            else
            {
                throw new XException("不能发现表(" + tableFullName + ")");
            }

            return(tableSchema);
        }
 /// <summary>
 /// //用物理数据库中的字段及表信息,重新更新XTableSchema信息
 /// </summary>
 /// <param name="tableId"></param>
 /// <param name="schema"></param>
 public static void RefreshSchemaFields(string tableId, XTableSchema schema)
 {
     BuildFields(schema);
     XTableSchemaContainer.Instance().UpdateItem(tableId, schema);
 }
Exemple #7
0
 public bool CheckTableExists(string tableFullName)
 {
     return(XTableSchemaContainer.Instance().Contains(tableFullName));
 }
Exemple #8
0
 public void UpdateTableSchema(string tableFullName, XTableSchema schema)
 {
     XTableSchemaContainer.Instance().UpdateItem(tableFullName, schema);
 }