La structure interne ainsi que le design d'AreaProg ont récemment été modifiés.
Suite à cela, le format de certains articles a été perturbé. Le problème est connu et en cours de résolution. Merci de votre compréhension.
Dans le cours précédent, nous avons vu comment développer un Business Data Catalog permettant d'afficher des données externes dans une liste. Bien que la méthode de développement soit améliorée dans la version 2010 de Visual Studio, le principe reste le même. Nous allons maintenant voir une nouveauté dans les BDCM. Effectivement, nous allons voir comment créer un nouvel enregistrement dans la base de données grâce à notre External List. Pour cet exemple, nous allons repartir de la solution développée dans le cours précédent. N'hésitez donc pas à lire attentivement le cours précédent. Si vous connaissez déjà le contenu de ce cours, un lien de téléchargement de la solution finale se trouve dans le bas de celui-ci. Actuellement, ce projet est un BDCM se basant sur une table d'une base de données nommée Clients. Nous allons maintenant l'enrichir pour lui permettre d'ajouter des nouvelles données dans la table. Actuellement, l'entité de notre BDCM est celle-ci :
Nous allons maintenant simplement ajouter une méthode de type Creator. Cliquez donc sur l'intitulé Methods de l'entité et dans la fenêtre de méthode, choisissez de créer une nouvelle méthode de type Creator :
Cliquez maintenant avec le bouton droit de votre souris sur cette méthode dans votre entité et choisissez View Code et tapez :
ClientLinqDataContext context = new ClientLinqDataContext("Data Source=pc-de-ssougnez\\SQL2008;Initial Catalog=SPTest;Integrated Security=True");
context.clients.InsertOnSubmit(newClients);
context.SubmitChanges();
return newClients;
Nous commençons par établir une connexion à notre base de données à l'aide d'une connexion string. Bien évidemment, il faudra la modifier pour que celle-ci puisse se connecter à votre serveur de base de données. Un objet de type client est automatiquement passé à cette fonction et correspond au client que nous voulons ajouter. Ces propriétés contiendront donc ce que l'utilisateur a rentré dans la page de création du client. Nous accédons alors à la table clients du contexte et nous ajoutons le client passé en paramètre. Une fois ceci fait, il nous faut valider les modifications en appelant la fonction SubmitChanges. Enfin, nous renvoyons l'objet passé en paramètre à la fonction car celle-ci l'attend. Avant de compiler, il reste un détail à définir. Effectivement, actuellement, le champ id_client apparaîtrait sur la page de création d'un nouveau client. Ce comportement n'est pas espéré étant donné qu'il s'agit d'une clé primaire qui s'incrémente automatiquement, nous allons donc le cacher. Ouvrez votre BDC Explorer et déroulez le paramètre newClients de la fonction Create :
Cliquez alors sur le TypeDescriptor id_client et modifiez sa propriété Creator Field sur False pour indiquer que ce champ ne doit pas apparaître sur le formulaire de création de client. Compilez maintenant votre BDCM et créez une nouvelle External List basée sur celui-ci. Maintenant, l'option de création d'un nouvel élément est disponible et affiche cette page lorsque nous cliquons dessus :
Une fois les données insérées dans cette page et le bouton "Valider" cliqué, un nouveau client sera inséré dans la base de données.
Veuillez vous identifier ou vous inscrire pour donner une note à cet article.
Veuillez vous identifier ou vous inscrire pour réagir à cet article.
Letiss (08/11/2010 - 11:58)
Merci beaucoup
:) (16/02/2012 - 12:03)