//Rozsyłamy event o zmianie wybranej bazy danych public static void ChooseThisDatabase(string databaseName) { DatabaseChangedEventArgs args = new DatabaseChangedEventArgs(); args.DatabaseName = databaseName; Database.OnConnectedDatabaseChanged(args); }
//Obsługa zdarzenia zmiany wybranej bazy danych (aktu. ścieżki, odświeżanie widoków) private void WhenConnectedDatabaseChange(object sender, EventArgs e) { if (e is DatabaseChangedEventArgs) { DatabaseChangedEventArgs args = e as DatabaseChangedEventArgs; lb_connectedDatabase.Text = "Podłączona baza danych: " + args.DatabaseName; Database.IsDatabaseOK = true; Database.ExistingFilledRows = 0; Database.ConnectionPath = "server=localhost; database=" + args.DatabaseName + "; user=root"; Database.ConnectedDatabase = args.DatabaseName; ClearEverything(); RefreshComboBoxes(); if (cB_currentTableSelected.Text != "(brak)") { tabPage_readDatabase.Enabled = true; tabPage_modifyDatabase.Enabled = true; changeModifyStructureTabPageElementsAccessibility(true); } else { tabPage_readDatabase.Enabled = false; tabPage_modifyDatabase.Enabled = false; changeModifyStructureTabPageElementsAccessibility(false); } btn_addNewTables.Enabled = true; RefreshGridViews(); } }
//rozsyłanie zdarzenia public static void OnConnectedDatabaseChanged(DatabaseChangedEventArgs e) { EventHandler <DatabaseChangedEventArgs> connectedDatabaseChanged = ConnectedDatabaseChanged; if (connectedDatabaseChanged != null) { connectedDatabaseChanged(null, e); } }
private void btn_ready_Click(object sender, EventArgs e) { if (lB_addedTables.Items.Count > 0) { CreateDatabase.AddNewTables(lB_addedTables); DatabaseChangedEventArgs args = new DatabaseChangedEventArgs(); args.DatabaseName = Database.ConnectedDatabase; Database.OnConnectedDatabaseChanged(args); this.Close(); } }
//Usuwanie akutalnie podłączonej bazy danych public static void DeleteDatabase() { SQLquery = "drop database " + Database.ConnectedDatabase; Delete(SQLquery); MessageBox.Show("Baza danych o nazwie: " + Database.ConnectedDatabase + " została usunięta!", "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Information); Database.ConnectedDatabase = ""; Database.IsDatabaseOK = false; DatabaseChangedEventArgs args = new DatabaseChangedEventArgs(); args.DatabaseName = ""; Database.OnConnectedDatabaseChanged(args); }
//Tworzenie nowej pustej bazy danych public static void CreateNewDatabase(string name) { try { connection = new MySqlConnection(Database.ConnectionPath); if (connection.State == ConnectionState.Closed) { connection.Open(); } SQLquery = "create database `" + name + "` character set utf8 collate utf8_polish_ci"; command = new MySqlCommand(SQLquery, connection); command.ExecuteNonQuery(); //wywoływanie zdarzenia informującego o zmianie podłączonej bazy danych DatabaseChangedEventArgs args = new DatabaseChangedEventArgs(); args.DatabaseName = name; Database.OnConnectedDatabaseChanged(args); MessageBox.Show("Baza danych o nazwie: " + name + " została utworzona.", "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show("Problem podczas tworzenia bazy danych:\n" + ex.Message, "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Warning); } finally { connection.Close(); if (command != null) { command.Dispose(); command = null; } } }