簡體   English   中英

帶有數據庫下拉過濾器的組合框

[英]Combobox with databases dropdown filter

我只需要在下拉列表中顯示包含“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"]);
        }
    }

你可以這樣做:

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

我還建議放棄 string.Format 並改用字符串插值:

connectionString = $"Server={sqlServerComboBox.Text}; User ID={loginTexBox.Text}; Password={passwordTextBox.Text};";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM