C#获取服务器名称

using System.Data.SqlClient;  
   
        ///    
          /// 获取局域网内的所有数据库服务器名称    
          ///    
        /// 服务器名称数组    
        public List GetSqlServerNames()  
        {  
            DataTable dataSources = SqlClientFactory.Instance.CreateDataSourceEnumerat or().GetDataSources();  
 
            DataColumn column = dataSources.Columns["InstanceName"];  
            DataColumn column2 = dataSources.Columns["ServerName"];  
 
            DataRowCollection rows = dataSources.Rows;  
            List Serverlist = new List();  
            string array = string.Empty;  
            for (int i = 0; i < rows.Count; i++)  
            {  
                string str2 = rows[i][column2] as string;  
                string str = rows[i][column] as string;  
                if (((str == null) || (str.Length == 0)) || ("MSSQLSERVER" == str))  
                {  
                    array = str2;  
                }  
                else  
                {  
                    array = str2 + @"/" + str;  
                }  
 
                Serverlist.Add(array);  
            }  
 
            Serverlist.Sort();  
 
            return Serverlist;  
        }  
 
        ///    
        /// 查询sql中的非系统库    
        ///    
        ///    
        ///    
        public List databaseList(string connection)  
        {  
            List getCataList = new List();  
            string cmdStirng = "select name from sys.databases where database_id > 4";  
            SqlConnection connect = new SqlConnection(connection);  
            SqlCommand cmd = new SqlCommand(cmdStirng, connect);  
            try  
            {  
                if (connect.State == ConnectionState.Closed)  
                {  
                    connect.Open();  
                    IDataReader dr = cmd.ExecuteReader();  
                    getCataList.Clear();  
                    while (dr.Read())  
                    {  
                        getCataList.Add(dr["name"].ToString());  
                    }  
                    dr.Close();  
                }  
 
            }  
            catch (SqlException e)  
            {  
                //MessageBox.Show(e.Message);    
            }  
            finally  
            {  
                if (connect != null && connect.State == ConnectionState.Open)  
                {  
                    connect.Dispose();  
                }  
            }  
            return getCataList;  
        }  
 
        ///    
        /// 获取列名    
        ///    
        ///    
        ///    
        public List GetTables(string connection)  
        {  
            List tablelist = new List();  
            SqlConnection objConnetion = new SqlConnection(connection);  
            try  
            {  
                if (objConnetion.State == ConnectionState.Closed)  
                {  
                    objConnetion.Open();  
                    DataTable objTable = objConnetion.GetSchema("Tables");  
                    foreach (DataRow row in objTable.Rows)  
                    {  
                        tablelist.Add(row[2].ToString());  
                    }  
                }  
            }  
            catch  
            {  
   
            }  
            finally  
            {  
                if (objConnetion != null && objConnetion.State == ConnectionState.Closed)  
                {  
                    objConnetion.Dispose();  
                }  
 
            }  
            return tablelist;  
        }  
 
        ///    
        /// 获取字段    
        ///    
        ///    
        ///    
        ///    
        public List GetColumnField(string connection, string TableName)  
        {  
            List Columnlist = new List();  
            SqlConnection objConnetion = new SqlConnection(connection);  
            try  
            {  
                if (objConnetion.State == ConnectionState.Closed)  
                {  
                    objConnetion.Open();  
                }  
   
                SqlCommand cmd = new SqlCommand("Select Name FROM SysColumns Where id=Object_Id('" + TableName + "')", objConnetion);  
                SqlDataReader objReader = cmd.ExecuteReader();  
   
                while (objReader.Read())  
                {  
                    Columnlist.Add(objReader[0].ToString());  
   
                }  
            }  
            catch  
            {  
   
            }  
            objConnetion.Close();  
            return Columnlist;  
           }  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值