如何使用ado.net查看curent连接中的所有数据库?然后查看每个数据库中的所有表。
答案 0 :(得分:5)
it gets all tables from database(此链接已删除,现在使用此链接。但更改代码很少)
ADO.Net : Get table definition from SQL server tables
你可以迭代数据库并获取所有表
答案 1 :(得分:5)
列出所有数据库,指定没有初始数据库的连接字符串。然后,您可以执行“sp_databases”存储过程。
要列出数据库中的所有表,您需要查询INFORMATION_SCHEMA.Tables。
<强>样品强>
获取数据库:
System.Data.SqlClient.SqlConnection SqlCon = new System.Data.SqlClient.SqlConnection("server=192.168.0.1;uid=sa;pwd=1234");
SqlCon.Open();
System.Data.SqlClient.SqlCommand SqlCom = new System.Data.SqlClient.SqlCommand();
SqlCom.Connection = SqlCon;
SqlCom.CommandType = CommandType.StoredProcedure;
SqlCom.CommandText = "sp_databases";
System.Data.SqlClient.SqlDataReader SqlDR;
SqlDR = SqlCom.ExecuteReader();
while(SqlDR.Read())
{
Console.WriteLine(SqlDR.GetString(0));
}
获取表格:
string connectionString = "...";
DataTable tables = new DataTable("Tables");
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlCommand command = connection.CreateCommand();
command.CommandText = "select table_name as Name from
INFORMATION_SCHEMA.Tables where TABLE_TYPE =
'BASE TABLE'";
connection.Open();
tables.Load(command.ExecuteReader(
CommandBehavior.CloseConnection));
}
答案 2 :(得分:0)
在Visual Studio 2010中
选择View =&gt;服务器资源管理器
然后编写服务器名称,如果使用SQL Server身份验证,请选择它,编写您的用户名和密码,选择或输入数据库名称=&gt;行
在数据连接下的服务器资源管理器中,您将看到数据库和表格。