簡體   English   中英

如何在C#Winforms的dropdownlist控件中獲取數據源名稱

[英]How to get the DataSource name in dropdownlist control in C# Winforms

嗨,我正在開發一個應用程序,以將數據從一個系統檢索到另一個遠程系統。

為此,我首先在屏幕下方設置應用程序的連接字符串。

控制面板

當我從第一個dropdownlist選擇SQL Server時,我需要將可用的DataSource namedatabase instance name例如sa或安裝database name放在第二個dropdownlist並且再次選擇“ DataSource available ,應在以下位置提示database name第三dropdownlist

我對此一無所知。 目前,我正在手動執行此操作,但是這很耗時且容易出錯。

我們如何解決它以及MySql也是如此。

您可以使用以下代碼獲取數據庫實例名稱

SqlDataSourceEnumerator instance = SqlDataSourceEnumerator.Instance;
        System.Data.DataTable table = instance.GetDataSources();
        foreach (System.Data.DataRow row in table.Rows)
        {
            cboServerName.Items.Add(row["ServerName"]);
        }

對於該服務器中的數據庫,您可以使用此代碼

SqlConnection SqlCon = new SqlConnection("server=" + cboServerName.SelectedItem.ToString() + ";uid=" + txtUsername.Text + ";pwd=" + txtPassword.Text);
        try
        {
            SqlCon.Open();
            //if connection was successful,fetch the list of databases available in that server
            SqlCommand SqlCom = new SqlCommand();
            SqlCom.Connection = SqlCon;
            SqlCom.CommandType = CommandType.StoredProcedure;
            SqlCom.CommandText = "sp_databases";        //sp_databases procedure used to fetch list of available databases

            SqlDataReader SqlDR;
            SqlDR = SqlCom.ExecuteReader();

            while (SqlDR.Read())
            {
                cboDatabase.Items.Add(SqlDR.GetString(0));
            }
        }
        catch
        {
            MessageBox.Show("Connection Failed...Please check username and password","Error");
        }

暫無
暫無

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

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