2
我想获取表的所有列的默认值,以便我可以在数据输入表单中显示它们,有没有一种方法可以使用ADO.NET来执行此操作?我知道我可以查询information_schema数据库的这个信息,我只是想知道是否有一个内置的方式来做到这一点在ADO.NET使用ADO.NET获取列默认值
我想获取表的所有列的默认值,以便我可以在数据输入表单中显示它们,有没有一种方法可以使用ADO.NET来执行此操作?我知道我可以查询information_schema数据库的这个信息,我只是想知道是否有一个内置的方式来做到这一点在ADO.NET使用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();
}
不,你将不得不查询数据库模式,或硬代码你自己的价值。
你可以得到几乎一切你想知道的有关使用FillSchema的表结构,但我没有看到的默认值可用项目之间 - http://msdn.microsoft.com/en-us/library/229sz0y5.aspx – DOK 2010-09-10 19:42:01