winform如何拿到一个服务器中所有数据库名称

winform如何拿到一个服务器中所有数据库名称,第1张

/// <summary>
/// 获得目标服务器所有数据库
/// </summary>
/// <param name="serverName"></param>
/// <param name="userName"></param>
/// <param name="password"></param>
public void getDataBaseNameList(string serverName, string userName, string password)
{
SQLDMOApplication sqlApplication = new SQLDMOApplicationClass();
SQLDMOSQLServer sqlServer = new SQLDMOSQLServerClass();
sqlServerConnect(serverName, userName, password); // 连接服务器
foreach (SQLDMODatabase databBase in sqlServerDatabases)
{
if (databBaseName != null)
{
thisDataBaseTreeViewNodesAdd(databBaseName);
getDataBaseTableList(serverName, userName, password, databBaseName);
}
}
}
/// <summary>
/// 加载数据库中表
/// </summary>
/// <param name="serverName">服务器名</param>
/// <param name="userName">用户名</param>
/// <param name="password">密码</param>
/// <param name="dataBaseName">数据库名</param>
private void getDataBaseTableList(string serverName, string userName, string password, string dataBaseName)
{
SQLDMOSQLServer Server = new SQLDMOSQLServerClass();
//连接到服务器
ServerConnect(serverName, userName, password);
//对所有的数据库遍历,获得指定数据库
for (int i = 0; i < ServerDatabasesCount; i++)
{
//判断当前数据库是否是指定数据库
if (ServerDatabasesItem(i + 1, "dbo")Name == dataBaseName)
{
//获得指定数据库
SQLDMO_Database db = ServerDatabasesItem(i + 1, "dbo");
//获得指定数据库中的所有表
for (int j = 0; j < dbTablesCount; j++)
{
thisDataBaseTreeViewNodes[i]NodesAdd(dbTablesItem(j + 1, "dbo")Name);
}
}
}
}
/// <summary>
/// 获得表中所有列名
/// </summary>
/// <param name="serverName">服务器名</param>
/// <param name="userName">用户名</param>
/// <param name="password">密码</param>
/// <param name="tableName">表名</param>
/// <param name="dataBaseName">数据库名</param>
/// <returns></returns>
public string getRowListFromTable(string serverName, string userName, string password, string tableName, string dataBaseName)
{
string result = stringEmpty;
string connectionString = stringEmpty;
connectionString += "server=" + serverName;
connectionString += ";Pwd=" + password;
connectionString += ";UID=" + userName;
connectionString += ";Database=" + dataBaseName;
string commandString = stringEmpty;
commandString += "select name from syscolumns where id=object_id('";
commandString += tableName;
commandString += "')";

SqlConnection sqlConnection = new SqlConnection(connectionString);
SqlCommand sqlCommand = new SqlCommand(commandString, sqlConnection);
SqlDataAdapter dataAdapter = new SqlDataAdapter(commandString, sqlConnection);
DataSet dataSet = new DataSet();
dataAdapterFill(dataSet);
DataTable dataTable = dataSetTables[0];
// DataTable dataTable = sqlConnectionGetSchema("Tables");
foreach (DataRow row in dataTableRows)
{
result += row[0]ToString() + "-";
}
if (result != null)
{
return result;
}
else
{
return "0";
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10951874.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-12
下一篇2023-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存