Je suis un débutant total à l'entreprise .net C# et j'ai plongé la semaine dernière en créant une application de formulaire pour mélanger les données autour des configurations SSIS. Les génies de MS ont décidé de ne pas appliquer une clé à la table avec laquelle je travaille - et générer une clé composite des deux champs candidats ne fonctionnera pas car leur longueur combinée est trop longue. Je ne veux surtout pas jouer avec le schéma de la table [ssis configurations] en ajoutant un champ autoincrement.TableAdapter - mise à jour sans clé
J'ai donc eu beaucoup de mal à obtenir une mise à jour d'un contrôle DataGridView pour travailler avec un TableAdapter.
J'ai besoin de l'instruction de mise à jour pour mettre à jour l'ensemble de tables a = x où b = y et c = z. Puis-je définir la méthode de mise à jour du TableAdapter, et si oui, comment. Si non, que faire?
Je vois ce code autogenerated:
this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
this._adapter.InsertCommand.Connection = this.Connection;
this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[SSIS Configurations Staging] ([ConfigurationFilter], [Configur" +
"edValue], [PackagePath], [ConfiguredValueType]) VALUES (@ConfigurationFilter, @C" +
"onfiguredValue, @PackagePath, @ConfiguredValueType)";
Mais dans mon code de forme, le UpdateCommand n'est pas disponible. Je suppose que c'est parce que le code ci-dessus est une définition de classe que je ne peux pas changer après la création de l'objet. Je vois que ce code a une recommandation de ne pas être modifié puisqu'il est généré automatiquement par VS.
Merci pour votre excellent conseil.
Elle n'a pas généré une instruction UPDATE sur une clé composite - est cela prévu? J'ai changé le type de données de nvarchar en varchar et réduit le nombre total d'octets. – Sam
Je ne suis pas sûr de la clé composite, mais varchar/nvarchar et length ne devraient pas avoir d'importance. –