Manipulation des données

Effectué

Vous pouvez écrire du code pour manipuler les données stockées dans la base de données.

  • Déclarez les données à modifier à l’aide de la méthode select.
  • La méthode insert permet d’ajouter un ou plusieurs enregistrements dans une table.
  • La méthode update permet de modifier l’enregistrement en cours dans les champs système appropriés.
  • Une clause where vous permet d’indiquer une condition que la méthode update teste lors du traitement de chaque ligne de la table.
  • La méthode delete permet de supprimer des enregistrements d’une table. Avant d’utiliser la méthode update ou delete, vous devez définir les données à mettre à jour ou supprimer à l’aide de la méthode select.
  • Pour sélectionner plusieurs enregistrements ou champs, employez d’abord la méthode select, puis extrayez le prochain enregistrement dans une table à l’aide de la méthode next.
  • La méthode while select vous permet d’effectuer une boucle sur plusieurs enregistrements répondant à des critères spécifiques.

L’instruction select extrait ou manipule des données de la base de données à l’aide de X++. L’instruction select vous permet d’extraire un enregistrement ou champ. En outre, vous pouvez notamment extraire d’autres enregistrements à l’aide de l’instruction next ou parcourir plusieurs enregistrements à l’aide de l’instruction while select.

Par exemple, l’exemple de code suivant extrait toutes les colonnes de la première ligne de la table CustTable, puis imprime la valeur dans la colonne AccountNum de cette ligne :

CustTable custTable;
select firstonly custTable; //this is a short notation for 'select firstonly * from custTable;'  
info("AccountNum: " + custTable.AccountNum); 

Voici des exemples de code des méthodes insert, update et delete. Les exemples utilisent une table MyCustomerTable fictive contenant des champs fictifs pour AccountNumber et CustomerName.

  • méthode insert

    //This will insert a new record into a sample MyCustomerTable table. The only mandatory field that is set on this table is AccountNumber.
    
    private void AddCustomer()
    {
        MyCustomerTable myCustomerTable;
        ttsBegin;
             myCustomerTable.AccountNumber = "1234";
             //The new record will have the account number 1234.
             myCustomerTable.insert();
        ttsCommit;
    }
    
  • méthode update

    //This will update the record where the AccountNumber field is set to 1234 by adding more information in the CustomerName field.
    
    private void UpdateCustomer()
    {
        MyCustomerTable myCustomerTable
        ttsBegin;
            select forUpdate myCustomerTable
            where myCustomerTable.AccountNumber == "1234";
            //Now we will update the CustomerName field to be Sally
            myCustomerTable.CustomerName = "Sally";
            myCustomerTable.update();
        ttsCommit;
    }
    
  • méthode delete

    //This will delete the record from the MyCustomerTable table where the AccountNumber field is set to 1234.
    
    private void DeleteCustomer()
    {
        ttsBegin;
            while select forUpdate myCustomerTable
            where myCustomerTable.AccountNumber == "1234"
            {
            myCustomerTable.delete();
            }
        ttsCommit;
    }