zoukankan      html  css  js  c++  java
  • c#获得目标服务器中所有数据库名、表名、列名的实现代码

        /// <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";
                }
            }
  • 相关阅读:
    js--事件
    js之table操作
    2019年目标
    history.back返回后输入框值丢失问题
    C++ 工程师养成 每日一题4.5 (迭代器遍历)
    C++ 工程师养成 每日一题fourth (reverse的使用)
    C++ 工程师养成 每日一题third (子数列排序)
    C++工程师养成 每日一题(string使用)
    C++工程师养成 每日一题(vector使用)
    运算符优先级
  • 原文地址:https://www.cnblogs.com/rinack/p/4260325.html
Copyright © 2011-2022 走看看