Combobox с базой данных раскрывающийся фильтр - PullRequest
0 голосов
/ 14 июня 2019

Мне нужно показать только базы данных, которые содержат «R2P» в раскрывающемся списке.

Я пытался выбрать в списке баз данных, содержит, но безуспешно.

    private void DbComboBox_DropDown(object sender, EventArgs e)
    {
        string connectionString;
        if (this.windowsAuthentication.Checked)
            connectionString = string.Format("Server={0}; Integrated Security=SSPI;", sqlServerComboBox.Text);
        else
            connectionString = string.Format("Server={0}; User ID={1}; Password={2};", sqlServerComboBox.Text, loginTexBox.Text, passwordTextBox.Text);

        using (SqlConnection sqlConnection = new SqlConnection(connectionString))
        {
            sqlConnection.Open();
            DataTable databaseList = sqlConnection.GetSchema("Databases");
            sqlConnection.Close();

            this.dbComboBox.Items.Clear();

            foreach (DataRow row in databaseList.Rows)
                this.dbComboBox.Items.Add(row["database_name"]);
        }
    }

1 Ответ

0 голосов
/ 14 июня 2019

Вы можете сделать это:

foreach (DataRow row in databaseList.Rows)
{
    if (row["database_name"].ToString().Contains("R2P"))
    {
        this.dbComboBox.Items.Add(row["database_name"]);
    }
}

также я бы предложил отключить строку. Вместо этого отформатируйте строку:

connectionString = $"Server={sqlServerComboBox.Text}; User ID={loginTexBox.Text}; Password={passwordTextBox.Text};";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...