Jeux d’enregistrements et tables de données
Un recordset est un objet Automation qui est une table de taille fixe, délimitée ou non limitée qui contient des lignes simples de déclarations de données hôtes (types de données). Une datatable est un objet .NET identique à un jeu d’enregistrements à tous égards, sauf que vous ne pouvez pas utiliser la fonction NewRecordset avec datatables. Une fois que vous avez un objet recordset ou datatable, vous pouvez appeler des méthodes sur cet objet pour accéder à ses lignes.
Un jeu d’enregistrements ou une table de données est implémenté au-dessus des jeux de lignes par le service de données à distance (RDS), qui fait partie de Microsoft Data Access Components (MDAC) version 2.5. Vous pouvez utiliser l’objet RDSServer.DataFactory pour créer un recordset ou datatable et utiliser ActiveX® Data Objects (ADO) pour mettre à jour ou lire le recordset.
Un recordset ou datatable permet de présenter et de manipuler des données tabulaires. Actuellement, les jeux d’enregistrements ne peuvent pas être imbriqués, ne peuvent pas contenir de tableaux et ne peuvent pas contenir de types définis par l’utilisateur (UDT).
La prise en charge des jeux d’enregistrements et des databales permet à TI de prendre en charge ce qui est effectivement un tableau d’une structure (ou d’un enregistrement, dans la terminologie COBOL) ainsi qu’une structure. Une structure est représentée sous la forme d’un jeu d’enregistrements de taille fixe ou d’une table de données où chaque colonne de la ligne contient un seul élément de données. Pour résoudre les problèmes de programmation de mainframe, TI classe les jeux d’enregistrements et les datatables comme de taille fixe, limitée ou non limitée, en référence au nombre de lignes contenues dans l’objet recordset ou datatable.
Important
Le modèle de programmation ibm i distributed program calls (DPC) prend uniquement en charge les jeux d’enregistrements et les datatables de taille fixe. Le modèle de programmation ne prend pas en charge les jeux d’enregistrements et les datatables sans limite, ni l’utilisation de la clause OCCURS DEPENDING ON, ni les jeux d’enregistrements et les datatables de taille variable.
Pour les jeux d’enregistrements ti fixes, délimités et non liés et les datatables, la disposition de toutes les lignes d’un jeu d’enregistrements particulier est la même et est définie au moment de la conception à l’aide de TI Project. Si un recordset ou datatable est une valeur de sortie ou de retour du mainframe, l’environnement d’exécution TI utilise l’objet RDSServer.DataFactory pour créer un recordset ou datatable et ADO pour remplir l’objet recordset ou datatable avec les lignes de données retournées par le programme mainframe.
Un tel recordset est un jeu d’enregistrements déconnecté avec un type de curseur adOpenForwardOnly. Pour analyser le jeu d’enregistrements, vous devez appeler MoveFirst et MoveNext pour parcourir les lignes. Le jeu d’enregistrements peut être mis à jour en place, mais comme il est déconnecté de la source de données true (la source de données manipulée par le programme mainframe qui a retourné les données), les mises à jour ne sont pas propagées à la source de données d’origine.
NewRecordset est une fonction fournie automatiquement pour tous les composants TI. Cette fonction est appelée pour créer un objet recordset déconnecté qui peut être passé dans un appel de méthode TI. NewRecordset est fourni à titre de commodité pour les applications clientes TI ; il n’est pas nécessaire de passer un jeu d’enregistrements aux méthodes d’un composant TI. La fonction peut être appelée uniquement pour les objets de jeu d’enregistrements d’entrée ou d’entrée/sortie. L’environnement d’exécution TI crée un objet recordset lorsque le paramètre est un objet recordset de sortie.