J'essaie d'écrire du code générique dans VB.NET qui détermine si une table de base de données SQL Server contient ou non une colonne d'identité et, le cas échéant, de renvoyer le nom de cette colonne.Détermination d'un nom de colonne d'identité SQL Server dans .NET
Je travaille dans Visual Basic 2008 Express et j'ai créé une base de données SQL, "MyDatabase" avec 1 table appelée "MyTable". Dans cette table, j'ai 3 colonnes, "ID", "Column1" et "Column2". Je sais, je sais ... des noms inventifs. Sous Propriétés de la colonne dans l'Explorateur de base de données, j'ai défini la colonne "ID" "Identity Specification" sur "yes" et j'ai défini la valeur "Is Identity" sur "yes".
J'ai besoin que le code .NET retourne "ID" comme colonne d'identité. Cela peut-il être fait par LINQ ou par d'autres moyens?
Merci beaucoup d'avance!
chance
Merci à tous pour vos réponses. Jonathan - J'ai couru votre code et peux voir beaucoup d'information de colonne comprenant DATA_TYPE, RADIX, NULLABLE, SQL_DATA_TYPE et SS_DATA_TYPE mais je ne vois toujours aucune information sur la clé primaire. S'il vous plaît pardonner cette question qui doit sembler incroyablement simple. Je viens juste de commencer à travailler avec SQL. Merci encore, Chance –
Ce code vous permet de savoir quelle colonne est Identity, vous pouvez lire la colonne "TYPE_NAME" de la datatable. Si le type de colonne est INT et est identité, la colonne contiendra "int Identity". Je vais modifier ma réponse pour ajouter du code sur l'obtention des informations de clé primaire. – Jonathan
Merci beaucoup. C'est exactement ce dont j'avais besoin. Cheers, Chance –