使用ADO.NET获取列默认值
我想获得表中所有列的默认值,以便在数据输入表单中显示它们,有没有办法使用ADO.NET实现这一点?我知道我可以在信息模式数据库中查询这些信息,我只是想知道在ADO.NET中是否有一种内置的方法可以做到这一点。不,您必须查询数据库模式,或者自己硬编码这些值。您可以使用使用ADO.NET获取列默认值,.net,sql,ado.net,.net,Sql,Ado.net,我想获得表中所有列的默认值,以便在数据输入表单中显示它们,有没有办法使用ADO.NET实现这一点?我知道我可以在信息模式数据库中查询这些信息,我只是想知道在ADO.NET中是否有一种内置的方法可以做到这一点。不,您必须查询数据库模式,或者自己硬编码这些值。您可以使用DbConnection.GetSchema来获取默认列值: DbConnection conn = SqlClientFactory.Instance.CreateConnection("server=.\\SQLEXPRESS;d
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,您几乎可以获得关于表模式的所有其他信息,但我看不到可用项中的默认值-