J'ai un DataTable avec une colonne "Id", qui est une colonne d'identité dans notre base de données SQL Server 2005. Cette colonne a la propriété AutoIncrement définie sur true. Je ne remplis pas la table avec des données de la base de données, puisque je l'utilise uniquement pour les insertions, donc elle attribue des Ids fictifs à partir de 1.Comment faire pour mettre à jour toutes les colonnes autoincrement dans un DataTable?
Mais après avoir appelé la tableAdapter.Update(), je voudrais avoir dans cette colonne les ID REAL affectés par la base de données.
Pour une raison quelconque, seule la première ligne est mise à jour, et pas tout le reste. Cette table se référence elle-même à l'aide d'une DataRelation en cascade (structure hiérarchique) et les références à la première ligne sont également mises à jour.
Veuillez indiquer comment mettre tous les ID à jour en conséquence.
Merci d'avance!
instruction INSERT:
INSERT INTO Components (ComponentId, OrderNo, SerialNo)
VALUES (@ComponentId, @OrderNo, @SerialNo)
Et voici le schéma du tableau Composants:
Id BIGINT PK,
ComponentId BIGINT FK,
OrderNo int,
SerialNo int
Notez que le nom de colonne Id est "Id", "ComponentId" est la colonne de référence FK.
Pouvez-vous publier votre instruction d'insertion qui appartient à la commande Insérer? – gsharp
Sure: INSERT INTO Composants (ComponentId, OrderNo, SerialNo) VALEURS (@ ComponentId, @ OrderNo, @ SerialNo). Et voici le schéma de la table des composants: Id BIGINT PK, ComponentId BIGINT FK, OrderNo int, SerialNo int Notez que le nom de la colonne Id est "Id", "ComponentId" est la colonne de référence FK. –