private void cbSchema_DropDown(object sender, System.EventArgs e) { cbSchema.Items.Clear(); if (cbDatabase.Text.Length == 0) { return; } Cursor.Current = Cursors.WaitCursor; PgSqlConnection databaseConnection = new PgSqlConnection(); databaseConnection.Host = cbHost.Text; databaseConnection.UserId = edUser.Text; databaseConnection.Password = edPassword.Text; databaseConnection.Port = (int)edPort.Value; databaseConnection.Database = cbDatabase.Text; try { databaseConnection.Open(); DataTable schemasTab = databaseConnection.GetSchema("Schemas"); foreach (DataRow row in schemasTab.Rows) { if (row["nsptyp"] != null && row["nsptyp"] != DBNull.Value && (int)row["nsptyp"] == 2) { cbSchema.Items.Add(row["name"]); } } } catch (Exception exception) { MessageBox.Show(exception.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { Cursor.Current = Cursors.Default; databaseConnection.Close(); } }