1

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

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();
}
4

3 に答える 3

2

sql-command を使用するか

select * from sys.tables

またはDataTableを使用します

DataTable dt = SQLConnection.GetSchema("Tables");
foreach (DataRow row in dt.Rows)
{
 ...
}
于 2012-05-09T14:19:51.347 に答える
2
SELECT * FROM INFORMATION_SCHEMA.TABLES

INFORMATION_SCHEMAデータベースに関する有用なメタデータがたくさんあります。

于 2012-05-09T14:19:54.307 に答える
1

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

SELECT * 
FROM information_schema.tables
于 2012-05-09T14:19:55.620 に答える