如何使用ADO.net在一个选择框中检索所有数据库名称
本文关键字:检索 数据库 选择 一个 net ADO 何使用 | 更新日期: 2023-09-27 18:25:34
在数据库中包含50个数据库(adventureworks,adventureworksDw,sampleDb…..)
如何使用ADO.net在一个选择框中检索所有数据库名称?
你能帮帮我吗?有什么解决办法吗?
谢谢,
Rajasekhar
找到这个旧程序,对我来说很好
public void PopulateDatabaseNames(string connectionString, ComboBox cboDBNames)
{
SqlDataAdapter da = null;
SqlCommand cmd = null;
SqlConnection cnn = null;
try
{
using(cnn = new SqlConnection(connectionString))
using(cmd = new SqlCommand())
using(da = new SqlDataAdapter())
{
cnn.Open();
cmd.CommandText = "SELECT NAME FROM master..sysdatabases order by NAME";
cmd.CommandType = CommandType.Text;
cmd.Connection = cnn;
SqlDataReader myReader = cmd.ExecuteReader();
while (myReader.Read())
{
string name = myReader.GetString(0).ToLower();
if (name != "master" && name != "tempdb" && name != "model" && name != "msdb")
{
cboDBNames.Items.Add(name);
}
}
}
}
catch (System.Exception e)
{
MessageBox.Show(e.Message, "PopulateDatabasesNames");
}
}
在数据访问层中,您应该使用查询服务器
Select name from sys.databases
您可以将返回的对象作为dropdownlist的数据源,并记住为ddl调用databind!