Beispiel #1
0
        internal bool ExistsInAllTables(string tableName)
        {
            if (tableName.StartsWith("$"))
            {
                string trimed = tableName.Substring(1);
                return(Exists(trimed));
            }

            return(PhysicalTables.Contains(tableName));
        }
Beispiel #2
0
        internal List <string> ListFields(string tableName)
        {
            if (PhysicalTables == null)
            {
                PhysicalTables = MainForm.CurrentProject.ListPhysicalTables();
            }

            List <string> fields = new List <string>();

            if (PhysicalTables.Contains(tableName))
            {
                XmlElement result = MainForm.CurrentProject.Query("select * from \"" + tableName + "\" where 1=0");
                XmlHelper  h      = new XmlHelper(result);
                foreach (XmlElement column in h.GetElements("Metadata/Column"))
                {
                    fields.Add(column.GetAttribute("Field"));
                }
            }
            else
            {
                tableName = tableName.Substring(1);

                foreach (UDTTable table in AllUDTTables)
                {
                    if (table.Name != tableName)
                    {
                        continue;
                    }

                    XmlElement content = table.GetContent();
                    XmlHelper  h       = new XmlHelper(content);
                    foreach (XmlElement field in h.GetElements("Field"))
                    {
                        fields.Add(field.GetAttribute("Name"));
                    }
                }
            }
            return(fields);
        }