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

发布于 2024-10-31 20:20:07 字数 49 浏览 1 评论 0原文

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

How can I see all databases in curent connection using ado.net? And then see all tables in each database.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

美人迟暮 2024-11-07 20:20:07

它获取所有数据库

它从数据库获取所有表(此链接已删除,现在使用这个。但稍微更改代码)

ADO.Net:从 SQL Server 表获取表定义

您可以迭代数据库并获取所有表

it gets all database

it gets all tables from database(this link was deleted now use this one. but change code little)

ADO.Net : Get table definition from SQL server tables

you can iterate over database and get all tables

莫言歌 2024-11-07 20:20:07

要列出所有数据库,您需要指定没有初始数据库的连接字符串。然后您可以执行“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));
}

To list all databases you need to specify connection string without initial database. Then you can execute "sp_databases" stored procedure.

To list all tables in database you need to query INFORMATION_SCHEMA.Tables.

SAMPLES

To get databases:

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

To get tables:

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));
}
耀眼的星火 2024-11-07 20:20:07

在 Visual Studio 2010 中

选择查看 => Server Explorer

然后写服务器名称,如果使用SQL Server Authentication,选择它,写用户名和密码,选择或输入数据库名称=>确定

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

In visual Studio 2010

Select View => Server Explorer

Then write server name, if you use SQL Server Authentication, select it, write your user name and password, select or enter a database name => OK

In the Server Explorer under the Data Connections you will see your database and tables.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文