gpt4 book ai didi

c# - 使用 C# 检索表架构信息

转载 作者:太空宇宙 更新时间:2023-11-03 18:41:32 25 4
gpt4 key购买 nike

我想使用 C# 检索表架构信息。

我使用了 sp_help <table_name>查询来检索它,当我在查询窗口中执行它但无法从 C# 检索它时效果很好。我想检索两个表之间映射所需的所有表信息,例如名称、数据类型、大小、isprimary、键等。

我写下了下面的代码

SqlCommand cmd = sourceCon.CreateCommand();
cmd.CommandText = string.Format("sp_help '{0}'", cmbSourceTable.SelectedItem.ToString()); //cmd.CommandType = CommandType.StoredProcedure;
sourceDataTable = new DataTable();
SqlDataReader dr = cmd.ExecuteReader();
sourceDataTable.Load(dr);
dr.Close();

它只会返回有关表创建与否的信息

最佳答案

您可以尝试以下选项而不是使用 sp_help:

1) 使用 INFORMATION_SCHEMA.COLUMNS View :

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'YourTable'

2) 查询sys.columns

SELECT c.*, t.name
FROM sys.columns c
JOIN sys.types t ON c.user_type_id = t.user_type_id
WHERE c.object_id = OBJECT_ID('YourTable')

这些只是将返回单个结果集的 2 个选项。 INFORMATION_SCHEMA.COLUMNS 不会告诉您(例如)列是否为 IDENTITY 列,而 sys.columns 路由会。您可以从目录 View 中获得更多信息,这取决于您还需要什么。这是 MSDN reference .

关于c# - 使用 C# 检索表架构信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8257319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com