none
C#中获取数据库名 RRS feed

答案

  • “项目”——>“添加引用”——>“COM”——>SQLDMO.DLL
    
    SQLDMO.SQLServer Server = new SQLDMO.SQLServerClass();          
          //连接到服务器 
          Server.Connect(strServerName,strUser,strPWD);  
          //对所有的数据库遍历,获得指定数据库 
          for(int i=0;i<Server.Databases.Count;i++)  
          {  
    Console.Writeline(Server.Databases.Item(i+1,"dbo").Name)  ;
            }  
          }  

    http://feiyun0112.cnblogs.com/
    2010年9月1日 8:07
    版主
  • C#只是一个语言规范,不包含这样的功能。

    取得数据库名的方法取决于数据库引擎。上面的方法是SQL Server提供的API。



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年9月1日 17:41
    版主
  • ArrayList DBNameList = new ArrayList();
          SqlConnection Connection = new SqlConnection(String.Format("Data Source={0};Initial Catalog=master;User ID={1};PWD={2}",DSN,UID,PWD));
          DataTable DBNameTable = new DataTable();
          SqlDataAdapter Adapter = new SqlDataAdapter("select name from master..sysdatabases", Connection);
          Adapter.Fill(DBNameTable);
    
          int i = 0;
          foreach (DataRow Row in DBNameTable.Rows)
          {
            DBNameList.Add(Row[i]);
    
            i++;
          } 
          return DBNameList;
    
    sql server
    2010年9月4日 13:34

全部回复

  • “项目”——>“添加引用”——>“COM”——>SQLDMO.DLL
    
    SQLDMO.SQLServer Server = new SQLDMO.SQLServerClass();          
          //连接到服务器 
          Server.Connect(strServerName,strUser,strPWD);  
          //对所有的数据库遍历,获得指定数据库 
          for(int i=0;i<Server.Databases.Count;i++)  
          {  
    Console.Writeline(Server.Databases.Item(i+1,"dbo").Name)  ;
            }  
          }  

    http://feiyun0112.cnblogs.com/
    2010年9月1日 8:07
    版主
  • C#只是一个语言规范,不包含这样的功能。

    取得数据库名的方法取决于数据库引擎。上面的方法是SQL Server提供的API。



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年9月1日 17:41
    版主
  • 没有连接之前,你是不可能获得数据库名的。

     

    • 已建议为答案 jinwb1982 2010年9月4日 14:29
    2010年9月4日 12:06
  • ArrayList DBNameList = new ArrayList();
          SqlConnection Connection = new SqlConnection(String.Format("Data Source={0};Initial Catalog=master;User ID={1};PWD={2}",DSN,UID,PWD));
          DataTable DBNameTable = new DataTable();
          SqlDataAdapter Adapter = new SqlDataAdapter("select name from master..sysdatabases", Connection);
          Adapter.Fill(DBNameTable);
    
          int i = 0;
          foreach (DataRow Row in DBNameTable.Rows)
          {
            DBNameList.Add(Row[i]);
    
            i++;
          } 
          return DBNameList;
    
    sql server
    2010年9月4日 13:34
  • 直接用SQLAPI就可以实现。
    2010年9月6日 8:42