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 命令

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 回答