2012-05-09 11 views
1

私はテーブルのすべてのエントリを数えるツールをコーディングしています。私の質問は、どのように私は既存のデータベースのすべてのテーブルを取得できますか?私は、Microsoft SQL Server 2008 R2を使用していると私はすでにテーブルの文字列配列を取得する方法があります:MSSQLデータベースのすべてのテーブルを取得するには?

List<string> lResult = new List<string>(); 
     SqlConnection sqlConn10 = new SqlConnection(sConnStr); 
     sqlConn10.Open(); 
     SqlCommand sqlComm10 = new SqlCommand("SELECT " + sColumn + " FROM " + sTable + " WHERE " + sWhere, sqlConn10); 
     SqlDataReader myReader10 = sqlComm10.ExecuteReader(); 
     int i = 0; 
     try 
     { 
      while (myReader10.Read()) 
      { 
       lResult.Add(myReader10.GetString(0)); 
       i++; 
      } 
     } 
     catch 
     { 
      myReader10.Close(); 
      sqlConn10.Close(); 
     } 

     return lResult.ToArray(); 
} 

答えて

2

あなたは、SQLコマンドを使用し

select * from sys.tables 

か、のDataTableを使用しますか

DataTable dt = SQLConnection.GetSchema("Tables"); 
foreach (DataRow row in dt.Rows) 
{ 
... 
} 
2
SELECT * FROM INFORMATION_SCHEMA.TABLES 

INFORMATION_SCHEMA、データベースに関する有用なメタデータをたくさん持っています。

1

あなたは次のようなクエリを使用する必要があるすべてのテーブルのリストを取得するには:

SELECT * 
FROM information_schema.tables 
関連する問題