internal bool ExistsInAllTables(string tableName) { if (tableName.StartsWith("$")) { string trimed = tableName.Substring(1); return(Exists(trimed)); } return(PhysicalTables.Contains(tableName)); }
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); }