/// <summary> /// Load database names, setup change event to populate tables /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ForumQuestion_Load(object sender, EventArgs e) { var ops = new SmoOperations(); cboDatabaseNames.DataSource = ops.DatabaseNames(); cboDatabaseNames.SelectedIndexChanged += CboDatabaseNames_SelectedIndexChanged; }
private void cmdLoadTableNamesForSelectedDatabaseName_Click(object sender, EventArgs e) { if (lstDatabaseNames.DataSource != null) { var ops = new SmoOperations(); lstTableNames.DataSource = ops.TableNames(lstDatabaseNames.Text); } else { MessageBox.Show("Please populate the first ListBox with database names"); } }
/// <summary> /// Populate tables for database when the ComboBox selection changes. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CboDatabaseNames_SelectedIndexChanged(object sender, EventArgs e) { if (cboDatabaseNames.DataSource != null) { var ops = new SmoOperations(); lstTableNames.DataSource = ops.TableNames(cboDatabaseNames.Text); } else { MessageBox.Show("Please populate the first ListBox with database names"); } }
private void cmdGetForeignDetails_Click(object sender, EventArgs e) { var ops = new SmoOperations(); var keyList = ops.TableKeys(lstDatabaseNames.Text, lstTableNames.Text); if (keyList.Count > 0) { var results = string.Join(Environment.NewLine, keyList.Select(k => k.SchemaName).ToArray()); MessageBox.Show(results); } else { MessageBox.Show("Nothing to show"); } }
private void cmdLoadColumnNamesForSelectedTable_Click(object sender, EventArgs e) { currentTableColumDetails = null; if (lstTableNames.DataSource != null) { var ops = new SmoOperations(); lstColumnNames.DataSource = ops.TableColumnNames(lstDatabaseNames.Text, lstTableNames.Text); currentTableColumDetails = ops.GetColumnDetails(lstDatabaseNames.Text, lstTableNames.Text); } else { MessageBox.Show("Please populate the second ListBox with table names"); } }
/// <summary> /// Here for testing that all works I load all ListBoxes /// with know database, table and columns in one shot. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmdSpecialLoader_Click(object sender, EventArgs e) { var ops = new SmoOperations(); lstDatabaseNames.DataSource = ops.DatabaseNames(); var Index = lstDatabaseNames.FindString("NorthWindAzure"); if (Index > -1) { lstDatabaseNames.SelectedIndex = Index; lstTableNames.DataSource = ops.TableNames(lstDatabaseNames.Text); Index = lstTableNames.FindString("Orders"); if (Index > -1) { lstTableNames.SelectedIndex = Index; lstColumnNames.DataSource = ops.TableColumnNames(lstDatabaseNames.Text, lstTableNames.Text); currentTableColumDetails = ops.GetColumnDetails(lstDatabaseNames.Text, lstTableNames.Text); } } }
private void cmdLoadDatabaseNames_Click(object sender, EventArgs e) { var ops = new SmoOperations(); lstDatabaseNames.DataSource = ops.DatabaseNames(); }