J'essaie de copier une base de données sql dans une application vb.net, mais les valeurs par défaut ne sont pas conservées. Est-il possible d'importer les valeurs par défaut et de les attribuer automatiquement lors de la création d'une nouvelle ligne ou dois-je les réattribuer manuellement dans mon code ?
Réponse
Trop de publicités?Je suppose que vous liez vos données à une grille de contrôle ? Les valeurs par défaut ne sont connues que de la base de données et ne sont utilisées que si vous envoyez une instruction INSERT sans données pour la colonne sur laquelle porte la contrainte par défaut. Cela signifie que vous devez définir manuellement la valeur par défaut si vous souhaitez qu'elle soit visible dans votre application avant d'insérer vos données.
Vous pouvez en fait récupérer la valeur par défaut dans la base de données, mais ces valeurs sont présentées sous forme de formule SQL (nvarchar) et vous devez donc les exécuter pour obtenir une valeur réelle (par exemple, la valeur par défaut "0" serait stockée sous la forme "(0)").
select COLUMN_DEFAULT from INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA = 'abc' and TABLE_NAME = 'def' and COLUMN_NAME = 'ghi'