標籤:
/// <summary> /// 獲得目標伺服器所有資料庫名 /// </summary> /// <param name="serverName"></param> /// <param name="userName"></param> /// <param name="password"></param> public void getDataBaseNameList(string serverName, string userName, string password) { SQLDMO.Application sqlApplication = new SQLDMO.ApplicationClass(); SQLDMO.SQLServer sqlServer = new SQLDMO.SQLServerClass(); sqlServer.Connect(serverName, userName, password); // 串連伺服器 foreach (SQLDMO.Database databBase in sqlServer.Databases) { if (databBase.Name != null) { this.DataBaseTreeView.Nodes.Add(databBase.Name); getDataBaseTableList(serverName, userName, password, databBase.Name); } } } /// <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) { SQLDMO.SQLServer Server = new SQLDMO.SQLServerClass(); //串連到伺服器 Server.Connect(serverName, userName, password); //對所有的資料庫遍曆,獲得指定資料庫 for (int i = 0; i < Server.Databases.Count; i++) { //判斷當前資料庫是否是指定資料庫 if (Server.Databases.Item(i + 1, "dbo").Name == dataBaseName) { //獲得指定資料庫 SQLDMO._Database db = Server.Databases.Item(i + 1, "dbo"); //獲得指定資料庫中的所有表 for (int j = 0; j < db.Tables.Count; j++) { this.DataBaseTreeView.Nodes[i].Nodes.Add(db.Tables.Item(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 = string.Empty; string connectionString = string.Empty; connectionString += "server=" + serverName; connectionString += ";Pwd=" + password; connectionString += ";UID=" + userName; connectionString += ";Database=" + dataBaseName; string commandString = string.Empty; 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(); dataAdapter.Fill(dataSet); DataTable dataTable = dataSet.Tables[0]; // DataTable dataTable = sqlConnection.GetSchema("Tables"); foreach (DataRow row in dataTable.Rows) { result += row[0].ToString() + "-"; } if (result != null) { return result; } else { return "0"; } }
c#獲得目標伺服器中所有資料庫名、表名、列名的實現代碼