使用除系统数据库之外的数据库名称填充下拉列表
populate dropdownlist with DBnames except system DBs
我需要从 C# windows 应用程序连接到 SQL 数据库
并从一个连接填充一个下拉列表,使除系统数据库外的所有数据库都位于下拉列表中。
我有这个代码:
using (SqlConnection thisConnection = new SqlConnection("Server=" + serverName + ";User Id=" + uName + ";Password=" + pass + ";"))
{
thisConnection.Open();
// Assign it to dropdown menu
DataTable databases = thisConnection.GetSchema("Databases");
foreach (DataRow database in databases.Rows)
{
String databaseName = database.Field<String>("database_name");
// MessageBox.Show(databaseName);
if (databaseName == "master")
{
}
if (databaseName == "model")
{
}
if (databaseName == "tempdb")
{
}
if (databaseName == "msdb")
{
}
else
{ //adding DBs names into dropdownlist dd_ddase
dd_ddase.Items.Add(databaseName);
}
}
但是它仍然 returns 系统数据库在下拉,我做错了什么?
我觉得,对你有用
foreach (DataRow database in databases.Rows)
{
String databaseName = database.Field<String>("database_name");
// MessageBox.Show(databaseName);
if (databaseName == "master" || databaseName == "model" || databaseName == "tempdb" || databaseName == "msdb")
{
}
else
{
comboBox1.Items.Add(databaseName);
}
}
基于数据库 ID 的更简单的版本。
foreach (DataRow database in databases.Rows)
{
var id = database.Field<short>("dbid");
var name = database.Field<string>("database_name");
if (id > 4)
{
dd_ddase.Items.Add(name);
}
}
我需要从 C# windows 应用程序连接到 SQL 数据库 并从一个连接填充一个下拉列表,使除系统数据库外的所有数据库都位于下拉列表中。
我有这个代码:
using (SqlConnection thisConnection = new SqlConnection("Server=" + serverName + ";User Id=" + uName + ";Password=" + pass + ";"))
{
thisConnection.Open();
// Assign it to dropdown menu
DataTable databases = thisConnection.GetSchema("Databases");
foreach (DataRow database in databases.Rows)
{
String databaseName = database.Field<String>("database_name");
// MessageBox.Show(databaseName);
if (databaseName == "master")
{
}
if (databaseName == "model")
{
}
if (databaseName == "tempdb")
{
}
if (databaseName == "msdb")
{
}
else
{ //adding DBs names into dropdownlist dd_ddase
dd_ddase.Items.Add(databaseName);
}
}
但是它仍然 returns 系统数据库在下拉,我做错了什么?
我觉得,对你有用
foreach (DataRow database in databases.Rows)
{
String databaseName = database.Field<String>("database_name");
// MessageBox.Show(databaseName);
if (databaseName == "master" || databaseName == "model" || databaseName == "tempdb" || databaseName == "msdb")
{
}
else
{
comboBox1.Items.Add(databaseName);
}
}
基于数据库 ID 的更简单的版本。
foreach (DataRow database in databases.Rows)
{
var id = database.Field<short>("dbid");
var name = database.Field<string>("database_name");
if (id > 4)
{
dd_ddase.Items.Add(name);
}
}