Modification d’une base de données à l’aide des commandes ASP sous Dreamweaver

Dernière mise à jour le 25 avr. 2024

Découvrez comment utiliser les commandes ASP sous Dreamweaver pour modifier une base de données et ajouter et exécuter une procédure stockée.

Annotation

L’interface utilisateur a été simplifiée sous Dreamweaver et versions ultérieures. Par conséquent, il se peut que vous ne trouviez pas certaines options décrites dans cet article sous Dreamweaver et versions ultérieures. Pour plus d’informations, consultez cet article.

À propos des objets de commande ASP

Un objet de commande ASP est un objet serveur qui effectue une opération sur une base de données. L'objet peut contenir toute instruction SQL valide, y compris une qui retourne un jeu d'enregistrements, ou une qui insère, met à jour ou supprime des enregistrements dans une base de données.Un objet de commande peut modifier la structure d'une base de données si l'instruction SQL ajoute ou supprime une colonne dans une table.Vous pouvez également utiliser un objet de commande pour exécuter une procédure stockée dans une base de données.

Un objet de commande peut être réutilisable, dans le sens où le serveur applicatif peut réutiliser une seule version compilée de l'objet pour exécuter la commande plusieurs fois.Vous rendez une commande réutilisable en définissant la propriété Prepared de l'objet Command sur true, comme dans l'instruction VBScript suivante :

mycommand.Prepared = true

Si vous savez que la commande sera exécutée plus de quelques fois, avoir une seule version compilée de l'objet peut rendre les opérations de base de données plus efficaces.

Annotation

les commandes préparées ne sont pas prises en charge par tous les fournisseurs de base de données. Si votre base de données ne la prend pas en charge, elle peut retourner une erreur lorsque vous définissez cette propriété sur true.Elle peut même ignorer la demande de préparation de la commande et définir la propriété Prepared sur false.

Un objet de commande est créé par des scripts sur une page ASP, mais Dreamweaver vous permet de créer des objets de commande sans écrire une ligne de code ASP.

Modification d’une base de données à l’aide des commandes ASP

Vous pouvez utiliser Dreamweaver pour créer des objets de commande ASP qui insèrent, mettent à jour ou suppriment des enregistrements dans une base de données. Vous fournissez à l'objet de commande l'instruction SQL ou la procédure stockée qui effectue l'opération sur la base de données.

Dans Dreamweaver, ouvrez la page ASP qui exécutera la commande.
Ouvrez le panneau Comportements de serveur (Fenêtre > Comportements de serveur), cliquez sur le bouton Plus (+), puis sélectionnez Commande.
Entrez un nom pour la commande, sélectionnez une connexion à la base de données qui contient les enregistrements que vous voulez modifier, et sélectionnez l'opération de modification que vous voulez que la commande effectue — Insérer, Mettre à jour ou Supprimer.

Dreamweaver démarre l'instruction SQL, en fonction du type d'opération que vous sélectionnez.Par exemple, si vous sélectionnez Insérer, la boîte de dialogue ressemble à l'exemple suivant :

Saisissez une Commande ASP
Saisissez une Commande ASP

Complétez l’instruction SQL.

Pour des informations sur l'écriture d'instructions SQL qui modifient les bases de données, consultez un manuel Transact‑SQL.

Définissez les variables SQL dans la zone Variables. Fournissez le nom et la valeur d'exécution. Spécifier le type et la taille de chaque variable empêche les attaques par injection.

L'exemple suivant montre une instruction Insert qui contient trois variables SQL. Les valeurs de ces variables sont fournies par des paramètres d'URL transmis à la page, comme défini dans la colonne Valeur d'exécution de la zone Variables.

Instruction d’insertion contenant trois variables SQL
Instruction d’insertion contenant trois variables SQL

Pour obtenir la valeur Taille, utilisez le panneau Bases de données dans Dreamweaver.Trouvez votre base de données dans le panneau Bases de données et développez-la. Ensuite, recherchez le tableau sur lequel vous travaillez et développez-le.La table contient les tailles de vos champs. Par exemple, elle peut indiquer ADDRESS (WChar 50). Dans cet exemple, la taille vaut 50. Vous pouvez également trouver la taille dans l'application de base de données.

Annotation

Les types de données numériques, booléens et de date/heure utilisent toujours -1 comme taille.

Pour déterminer la valeur Type, consultez le tableau suivant :

Type dans la base de données

Type dans Dreamweaver

Taille

Numérique (MS Access, MS SQL Server, MySQL)

Double

-1

Booléen, Oui/Non (MS Access, MS SQL Server, MySQL)

Double

-1

Date/Heure (MS Access, MS SQL Server, MySQL)

DBTimeStamp

-1

Tous les autres types de champs de texte, y compris les types de données de texte MySQL char, varchar et longtext

LongVarChar

reportez-vous à la table de base de données

Texte (MS Access) ou nvarchar, nchar (MS SQL Server)

VarWChar

reportez-vous à la table de base de données

Mémo (MS Access), ntext (MS SQL Server), ou champs qui prennent en charge de grandes quantités de texte

LongVarWChar

1073741823

Pour plus d'informations sur le type et la taille des variables SQL, consultez www.adobe.com/go/4e6b330a.

Fermez la boîte de dialogue.

Dreamweaver insère du code ASP dans votre page qui, lorsqu'il s'exécute sur le serveur, crée une commande qui insère, met à jour ou supprime des enregistrements dans la base de données.

Par défaut, le code définit la propriété Prepared de l'objet Command sur true, ce qui permet au serveur d'applications de réutiliser une seule version compilée de l'objet chaque fois que la commande s'exécute.Pour modifier ce paramètre, passez en mode Code et changez la propriété Prepared sur false.

Créez une page avec un formulaire HTML pour que les utilisateurs puissent saisir des données d'enregistrement.Dans le formulaire HTML, incluez trois champs de texte (txtCity, txtAddress, et txtPhone) et un bouton d'envoi. Le formulaire utilise la méthode GET et envoie les valeurs des champs de texte à la page qui contient votre commande.

À propos des procédures stockées

Bien que vous puissiez utiliser des comportements de serveur pour créer des pages qui modifient les bases de données, vous pouvez également utiliser des objets de manipulation de base de données tels que des procédures stockées ou des objets de commande ASP pour créer les pages.

Une procédure stockée est un élément de base de données réutilisable qui effectue une opération sur la base de données. Une procédure stockée contient du code SQL qui peut, entre autres, insérer, mettre à jour ou supprimer des enregistrements. Les procédures stockées peuvent également modifier la structure de la base de données elle-même. Par exemple, vous pouvez utiliser une procédure stockée pour ajouter une colonne de table ou même supprimer une table.

Une procédure stockée peut également appeler une autre procédure stockée, ainsi qu'accepter des paramètres d'entrée et renvoyer plusieurs valeurs à la procédure appelante sous forme de paramètres de sortie.

Une procédure stockée est réutilisable dans le sens où vous pouvez réutiliser une seule version compilée de la procédure pour exécuter une opération de base de données plusieurs fois. Si vous savez qu'une tâche de base de données sera exécutée plus de quelques fois — ou que la même tâche sera exécutée par différentes applications — utiliser une procédure stockée pour exécuter cette tâche peut rendre les opérations de base de données plus efficaces.

Annotation

Les bases de données MySQL et Microsoft Access ne prennent pas en charge les procédures stockées.

Ajouter une procédure stockée (ColdFusion) (CS6)

Vous pouvez utiliser une procédure stockée pour modifier une base de données. Une procédure stockée est un élément de base de données réutilisable qui effectue une opération sur la base de données.

Avant d'utiliser une procédure stockée pour modifier une base de données, assurez-vous que la procédure stockée contient du code SQL qui modifie la base de données d'une manière ou d'une autre. Pour en créer une et la stocker dans la base de données, consultez la documentation de la base de données et un bon manuel Transact-SQL.

Dans Dreamweaver, ouvrez la page qui va exécuter la procédure stockée.
Dans le panneau Liaisons (Fenêtre > Liaisons), cliquez sur le bouton Plus (+), puis sélectionnez Procédure stockée.
Dans le menu contextuel Source de données, sélectionnez une connexion à la base de données contenant la procédure stockée.
Saisissez le nom d’utilisateur et le mot de passe pour la source de données ColdFusion.
Sélectionnez une procédure stockée dans le menu contextuel Procédures.

Dreamweaver renseigne automatiquement tous les paramètres.

Sélectionnez un paramètre et cliquez sur Modifier si vous devez apporter des modifications.

La boîte de dialogue Modifier la variable de la procédure stockée s’affiche. Le nom de la variable à modifier s’affiche dans la zone Nom.

Annotation

Vous devez saisir des valeurs test pour tous les paramètres d'entrée de procédure stockée.

Apportez les modifications de votre choix :
  • Sélectionnez une direction dans le menu déroulant. Une procédure stockée peut avoir des valeurs d'entrée, des valeurs de sortie ou les deux.

  • Sélectionnez un type SQL dans le menu déroulant. Saisissez une variable de retour, une valeur d'exécution et une valeur test.

Si la procédure stockée prend un paramètre, cliquez sur le bouton Plus (+) pour ajouter un paramètre de page.
Annotation

Vous devez saisir des paramètres de page correspondants pour chaque valeur de retour de paramètre de procédure stockée. N'ajoutez pas de paramètres de page à moins qu'il n'y ait une valeur de retour correspondante.

Cliquez à nouveau sur le bouton Plus (+) pour ajouter un autre paramètre de page, si nécessaire.

Sélectionnez un paramètre de page et cliquez sur le bouton Moins (-) pour supprimer le paramètre si nécessaire ou cliquez sur Modifier pour apporter des modifications au paramètre.
Sélectionnez l'option Retourne un jeu d'enregistrements nommé, puis saisissez un nom pour le jeu d'enregistrements ; si la procédure stockée retourne un jeu d'enregistrements, cliquez sur le bouton Tester pour voir le jeu d'enregistrements que la procédure stockée retourne.

Dreamweaver exécute la procédure stockée et affiche le jeu d'enregistrements, le cas échéant.

Annotation

Si la procédure stockée retourne un jeu d'enregistrements et prend des paramètres, vous devez saisir une valeur dans la colonne Valeur par défaut de la zone Variables pour tester la procédure stockée.

Annotation

Vous pouvez utiliser différentes valeurs de test pour générer différents jeux d'enregistrements.Pour modifier les valeurs test, cliquez sur le bouton Modifier pour Paramètre et modifiez la valeur test, ou cliquez sur le bouton Modifier pour Paramètre de page et modifiez la valeur par défaut.

Sélectionnez l'option Returns Status Code Named et saisissez un nom pour le code d'état, si la procédure stockée renvoie une valeur de retour de code d'état. Cliquez sur OK.

Après avoir fermé la boîte, Dreamweaver insère du code ColdFusion dans votre page qui appelle une procédure stockée dans la base de données, lorsque le code s'exécute sur le serveur. La procédure stockée exécute à son tour une opération de base de données, telle que l'insertion d'un enregistrement.

Si la procédure stockée accepte des paramètres, vous pouvez créer une page qui rassemble les valeurs des paramètres et les soumet à la page contenant la procédure stockée. Par exemple, vous pouvez créer une page qui utilise des paramètres d'URL ou un formulaire HTML pour recueillir les valeurs des paramètres auprès des utilisateurs.

Exécuter une procédure stockée (ASP) (CS6)

Avec les pages ASP, vous devez ajouter un objet de commande à une page pour exécuter une procédure stockée. Pour plus d'informations sur les objets de commande, consultez À propos des objets de commande ASP.

Dans Dreamweaver, ouvrez la page qui va exécuter la procédure stockée.
Dans le panneau Liaisons (Fenêtre > Liaisons), cliquez sur le bouton Plus (+), puis sélectionnez Commande (Procédure stockée).

La boîte de dialogue Commande s’affiche.

Saisissez un nom pour la commande, sélectionnez une connexion à la base de données contenant la procédure stockée, puis sélectionnez Procédure stockée dans le menu contextuel Type.
Sélectionnez votre procédure stockée en développant la branche Procédures stockées dans la boîte Éléments de base de données, en sélectionnant la procédure stockée dans la liste et en cliquant sur le bouton Procédure.
Entrez tous les paramètres requis dans le tableau Variables.

Il est inutile d'indiquer des paramètres pour les variables RETURN_VALUE.

Cliquez sur OK.

Après avoir fermé la boîte de dialogue, du code ASP est inséré dans votre page. Lorsque le code s'exécute sur le serveur, le code crée un objet de commande qui exécute une procédure stockée dans la base de données. La procédure stockée exécute à son tour une opération de base de données, telle que l'insertion d'un enregistrement.

Par défaut, le code définit la propriété Prepared de l'objet Command sur vrai, ce qui permet au serveur application de réutiliser une seule version compilée de l'objet à chaque exécution de la procédure stockée. Si vous savez que la commande sera exécutée plusieurs fois, avoir une seule version compilée de l'objet peut améliorer l'efficacité des opérations de base de données.Cependant, si la commande ne sera exécutée qu'une ou deux fois, en utiliser une peut en fait ralentir votre application web car le système doit s'arrêter pour compiler la commande. Pour modifier le paramètre, basculez vers la vue Code et changez la propriété Prepared sur false.

Annotation

Tous les fournisseurs de base de données ne prennent pas en charge les commandes préparées. Si votre base de données ne le prend pas en charge, vous pourriez recevoir un message d'erreur lorsque vous exécutez la page.Basculez en mode Code et définissez la propriété Préparé sur false.

Si la procédure stockée accepte des paramètres, vous pourriez créer une page qui rassemble les valeurs des paramètres et les soumet à la page contenant la procédure stockée. Par exemple, vous pouvez créer une page qui utilise des paramètres d'URL ou un formulaire HTML pour rassembler les valeurs des paramètres auprès des utilisateurs.