2010-09-10 5 views
2

Je veux obtenir les valeurs par défaut de toutes les colonnes d'une table afin que je puisse les afficher dans le formulaire de saisie de données, y a-t-il un moyen d'utiliser ADO.NET? Je sais que je peux interroger la base de données information_schema pour cette information, je me demande simplement s'il y a une manière intégrée de faire ceci dans ADO.NETRécupère les valeurs par défaut de la colonne avec ADO.NET

+0

Vous pouvez obtenir presque tout ce que vous voudriez savoir sur le schéma de la table à l'aide FillSchema, mais je ne vois pas la valeur par défaut parmi les articles disponibles - http://msdn.microsoft.com/en-us/library/229sz0y5.aspx – DOK

Répondre

2

Vous pouvez utiliser DbConnection.GetSchema pour obtenir les valeurs de colonne par défaut:

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

Non, vous devrez interroger le schéma de base de données, ou le code dur les valeurs vous-même.

Questions connexes