我想获取表的所有列的默认值,以便我可以在数据输入表单中显示它们,有没有办法使用ADO.NET执行此操作?我知道我可以在information_schema数据库中查询这个信息,我只是想知道在ADO.NET中是否有内置的方法来实现这一点
答案 0 :(得分:2)
您可以使用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();
}
答案 1 :(得分:1)
不,您必须查询数据库架构,或者自己对值进行硬编码。