[英]How to get the DataSource name in dropdownlist control in C# Winforms
嗨,我正在開發一個應用程序,以將數據從一個系統檢索到另一個遠程系統。
為此,我首先在屏幕下方設置應用程序的連接字符串。
當我從第一個dropdownlist
選擇SQL Server時,我需要將可用的DataSource name
或database 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.