private List <string> GetViewNames() { List <string> viewNames = new List <string>(); try { DataTable AllTables = db.GetTableSchema(); DataRow[] Views = AllTables.Select("TABLE_NAME like 'view%'"); foreach (DataRow viewRow in Views) { string viewName = viewRow["TABLE_NAME"].ToString(); viewNames.Add(viewName); } ////zack should check EpiTable = "View" as a View ////use DAO, //only in Import //List<string> tableNames = db.GetTableNames(); //dao.DBEngineClass dbEngine = new dao.DBEngineClass(); //dao.Database dbDao = dbEngine.OpenDatabase(db.DataSource, false, false, ";PWD=admin"); //foreach (string sName in tableNames) //{ // try // { // dao.TableDef table = dbDao.TableDefs[sName]; // if(table.Name.StartsWith("meta")) { continue; } // if(table.Name.ToLowerInvariant().StartsWith("view") == false) { continue; } // string s = table.Properties["EpiTable"].Value.ToString().ToLowerInvariant(); // //Zack and EJ // //temporaryly, filter out grid view for now 9/17/2008 // //when importing, we need to check if it is a grid view. // // if yes, need put them into grid meta data and collected data tables // if (s == "view" && table.Name.StartsWith("view", StringComparison.CurrentCultureIgnoreCase)) // { // viewNames.Add(table.Name ); // } // } // catch // { // } //} } finally { } return(viewNames); }
/// <summary> /// Gets a list of code tables. /// </summary> /// <param name="db"></param> /// <returns></returns> public override Epi.DataSets.TableSchema.TablesDataTable GetCodeTableList(IDbDriver db) { Epi.DataSets.TableSchema.TablesDataTable table = db.GetTableSchema(); DataRow[] rowsFiltered = table.Select("TABLE_NAME not like 'code%'"); //remove tables that don't start with "code" foreach (DataRow rowFiltered in rowsFiltered) { table.Rows.Remove(rowFiltered); } //remove the code tables that are not for the current database DataRow[] rowsFilteredSchema = table.Select("TABLE_SCHEMA<>'" + db.DbName + "'"); foreach (DataRow rowFilteredSchema in rowsFilteredSchema) { table.Rows.Remove(rowFilteredSchema); } return(table); }
void RefreshForm() { string itemText; lvDataSourceObjects.Groups.Clear(); lvDataSourceObjects.Items.Clear(); if (selectedDataSource is IDbDriver) { IDbDriver db = selectedDataSource as IDbDriver; this.txtDataSource.Text = db.ConnectionString; DataTable schemaTable = db.GetTableSchema(); foreach (DataRow row in schemaTable.Rows) { itemText = row[ColumnNames.SCHEMA_TABLE_NAME].ToString(); ListViewItem newItem = new ListViewItem(new string[] { itemText, itemText }); this.lvDataSourceObjects.Items.Add(newItem); } gbxShow.Enabled = true; if (lvDataSourceObjects.Items.Count > 0) { lvDataSourceObjects.Items[0].Selected = true; lvDataSourceObjects.Select(); Application.DoEvents(); } } else { // Clear ... this.txtDataSource.Text = "(none)"; this.lvDataSourceObjects.Items.Clear();// DataSource = null; gbxShow.Enabled = false; } this.CheckForInputSufficiency(); }
/// <summary> /// Returns code table list /// </summary> /// <param name="db">IDbDriver</param> /// <returns>Epi.DataSets.TableSchema.TablesDataTable</returns> public override Epi.DataSets.TableSchema.TablesDataTable GetCodeTableList(IDbDriver db) { DataSets.TableSchema.TablesDataTable tables = db.GetTableSchema(); //remove tables without prefix "code" DataRow[] rowsFiltered = tables.Select("TABLE_NAME not like 'code%'"); foreach (DataRow rowFiltered in rowsFiltered) { tables.Rows.Remove(rowFiltered); } foreach (DataRow row in tables) { if (String.IsNullOrEmpty(row.ItemArray[2].ToString())) { //remove a row with an empty string tables.Rows.Remove(row); } } DataRow[] rowsCode = tables.Select("TABLE_NAME like 'code%'"); return(tables); }
/// <summary> /// Returns code table list /// </summary> /// <param name="db">IDbDriver</param> /// <returns>Epi.DataSets.TableSchema.TablesDataTable</returns> public override Epi.DataSets.TableSchema.TablesDataTable GetCodeTableList(IDbDriver db) { DataSets.TableSchema.TablesDataTable tables = db.GetTableSchema(); //remove tables without prefix "code" DataRow[] rowsFiltered = tables.Select("TABLE_NAME not like 'code%'"); foreach (DataRow rowFiltered in rowsFiltered) { tables.Rows.Remove(rowFiltered); } foreach (DataRow row in tables) { if (String.IsNullOrEmpty(row.ItemArray[2].ToString())) { //remove a row with an empty string tables.Rows.Remove(row); } } DataRow[] rowsCode = tables.Select("TABLE_NAME like 'code%'"); return tables; }
/// <summary> /// /// </summary> /// <param name="db"></param> /// <returns></returns> public override Epi.DataSets.TableSchema.TablesDataTable GetCodeTableList(IDbDriver db) { Epi.DataSets.TableSchema.TablesDataTable table = db.GetTableSchema(); //remove all databases that do not start with "code" DataRow[] rowsFiltered = table.Select("TABLE_NAME not like 'code%'"); foreach (DataRow rowFiltered in rowsFiltered) { table.Rows.Remove(rowFiltered); } return table; }
/// <summary> /// Gets a list of code tables. /// </summary> /// <param name="db"></param> /// <returns></returns> public override Epi.DataSets.TableSchema.TablesDataTable GetCodeTableList(IDbDriver db) { Epi.DataSets.TableSchema.TablesDataTable table = db.GetTableSchema(); DataRow[] rowsFiltered = table.Select("TABLE_NAME not like 'code%'"); //remove tables that don't start with "code" foreach (DataRow rowFiltered in rowsFiltered) { table.Rows.Remove(rowFiltered); } //remove the code tables that are not for the current database DataRow[] rowsFilteredSchema = table.Select("TABLE_SCHEMA<>'" + db.DbName + "'"); foreach (DataRow rowFilteredSchema in rowsFilteredSchema) { table.Rows.Remove(rowFilteredSchema); } return table; }