我正在编写一个工具来计算表中的所有条目。我的问题是,如何获取现有数据库的所有表?我正在使用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();
}
答案 0 :(得分:2)
使用sql-command
select * from sys.tables
或您使用DataTable
DataTable dt = SQLConnection.GetSchema("Tables");
foreach (DataRow row in dt.Rows)
{
...
}
答案 1 :(得分:2)
SELECT * FROM INFORMATION_SCHEMA.TABLES
INFORMATION_SCHEMA
有很多关于数据库的有用元数据。
答案 2 :(得分:1)
获取您需要使用类似于此的查询的所有表的列表:
SELECT *
FROM information_schema.tables