显示有关ado.net中数据库的信息

时间:2011-04-13 11:04:17

标签: c# ado.net sql-server-2008-r2

如何使用ado.net查看curent连接中的所有数据库?然后查看每个数据库中的所有表。

3 个答案:

答案 0 :(得分:5)

it gets all database

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;行

在数据连接下的服务器资源管理器中,您将看到数据库和表格。