关于C#中使用SQLDMO来获取数据库中的一些操作

首先添加SQLDMO的引用

 

1:通过SQLDMO来获取可用的网络数据库(区域网当中)

public static List<string> get可用SQL服务器()
      {
          SQLDMO.Application app = new SQLDMO.Application();
          SQLDMO.NameList lst可用SQLServer服务器 = app.ListAvailableSQLServers();
          List<string> lst = new List<string>();
          for (int i = 1; i <= lst可用SQLServer服务器.Count; i++)
          {
              string str = lst可用SQLServer服务器.Item(i);
              lst.Add(str);
          }
          return lst;
      }

 

2.使用SQLDMO来获取数据库当中的所有表

public static List<string> get数据库所有表(string strServerName, string strDatabase, string strUserID, string strPwd)
     {
         SQLDMO.SQLServer Server = new SQLDMO.SQLServerClass();
         List<string> lst = null;
         //连接到服务器
         try
         {
             Server.Connect(strServerName, strUserID, strPwd);

             //对所有的数据库遍历,获得指定数据库

             for (int i = 0; i < Server.Databases.Count; i++)
             {
                 //判断当前数据库是否是指定数据库
                 if (Server.Databases.Item(i + 1).Name == strDatabase)
                 {
                     lst = new List<string>();
                     //获得指定数据库
                     SQLDMO._Database db = Server.Databases.Item(i + 1);

                     //获得指定数据库中的所有表
                     for (int j = 0; j < db.Tables.Count; j++)
                     {
                         lst.Add(db.Tables.Item(j + 1).Name);
                     }
                 }
             }
         }
         catch
         {
             MessageBox.Show("获取失败");
         }
         return lst;
     }

3.使用SQLDMO来获取数据库当中的指定表的所有列

public static List<string> get数据库表中列(string strServerName, string strDatabase, string strUserID, string strPwd,string str表名)
       {
           SQLDMO.SQLServer Server = new SQLDMO.SQLServerClass();
           List<string> lst = null;
           //连接到服务器
           try
           {
               Server.Connect(strServerName, strUserID, strPwd);

               //对所有的数据库遍历,获得指定数据库

               for (int i = 0; i < Server.Databases.Count; i++)
               {
                   //判断当前数据库是否是指定数据库
                   if (Server.Databases.Item(i + 1).Name == strDatabase)
                   {
                       lst = new List<string>();
                       //获得指定数据库
                       SQLDMO._Database db = Server.Databases.Item(i + 1);

                       //获得指定数据库中的所有表
                       for (int j = 0; j < db.Tables.Count; j++)
                       {
                           //lst.Add(db.Tables.Item(j + 1).Name);
                           if (db.Tables.Item(j + 1).Name == str表名)
                           {
                               foreach (SQLDMO._Column item in db.Tables.Item(j + 1).Columns)
                               {
                                   lst.Add(item.Name);
                               }
                           }
                       }
                   }
               }
           }
           catch
           {
               MessageBox.Show("获取失败");
           }
           return lst;
       }

转载于:https://www.cnblogs.com/fx_guo/archive/2010/12/21/1912317.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值