.net - 使用 ADO.NET 获取列默认值

标签 .net sql ado.net

我想获取表中所有列的默认值,以便可以在数据输入表单中显示它们,有没有办法使用 ADO.NET 来做到这一点?我知道我可以在 information_schema 数据库中查询此信息,我只是想知道 ADO.NET 中是否有内置方法可以执行此操作

最佳答案

您可以使用DbConnection.GetSchema获取默认列值:

DbConnection conn = SqlClientFactory.Instance.CreateConnection("server=.\\SQLEXPRESS;database=northwind;integrated security=true");
conn.Open();

DataTable schema;

try {

   schema = conn.GetSchema("Columns", new string[4] { conn.Database, null, "products", null });

   foreach (DataRow row in schema.Rows) {
      Console.WriteLine("Name: {0}, Default: {1}", row["COLUMN_NAME"], row["COLUMN_DEFAULT"]);
   }

} finally {
   if (conn.State != ConnectionState.Closed)
      conn.Close();
}

关于.net - 使用 ADO.NET 获取列默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3687720/

相关文章:

c# - 我们在 MS-Access 中有交易吗?

c# - 使用 NetworkStream 传输文件然后重建文件失败

c# - 如何获取 ListView 项目的高度?

c# - 为什么 Task.Factory.StartNew() 需要使用 CancellationToken 重载?

sql - 数据库的事务日志已满

asp.net - ADO.NET Entity Framework 或 ADO.NET

c# - C# 中 UPDATE 语句的 SQL 参数问题

c# - 为什么 System.Windows.Point 和 System.Windows.Vector 是可变的?

sql - 检查条件而不是重复 Case When 的更好方法

sql - 如何选择每个类别最新的四个项目?