4D v18dataClass.fromCollection( ) |
||||||||
|
4D v18
dataClass.fromCollection( )
|
Propriété | Type | Description |
context | Texte | Nom du contexte d'optimisation appliqué à la sélection d'entités. Ce contexte sera utilisé par le code qui gère la sélection d'entités afin de bénéficier de l'optimisation. Cette fonctionnalité est conçue pour le traitement client/serveur ORDA ; pour plus d'informations, veuillez consulter la section Optimisation client/serveur . |
Nous souhaitons modifier une entité existante. La propriété __NEW n'est pas fixée, la clé primaire de l'employé est passée et existe :
C_COLLECTION($empsCollection)
C_OBJET($emp;$employees)
$empsCollection:=Creer collection
$emp:=Creer objet
$emp.ID:=668 //Clé primaire existante dans la dataclass Employee
$emp.firstName:="Arthur"
$emp.lastName:="Martin"
$emp.employer:=Creer objet("ID";121) //Clé primaire existante dans la dataclass relative Company
// Nous modifions la Company de cet employé en lui assignant une autre clé primaire existante dans la dataclass relative Company
$empsCollection.push($emp)
$employees:=ds.Employee.fromCollection($empsCollection)
We want to update an existing entity. The __NEW property is not given, the employee primary key is with the __KEY attribute and exists:
C_COLLECTION($empsCollection)
C_OBJECT($emp;$employees)
$empsCollection:=New collection
$emp:=New object
$emp.__KEY:=1720 //Existing PK in Employee table
$emp.firstName:="John"
$emp.lastName:="Boorman"
$emp.employer:=New object("ID";121) //Existing PK in the related dataClass Company
// For this employee, we can change the Company by using another existing PK in the related dataClass Company
$empsCollection.push($emp)
$employees:=ds.Employee.fromCollection($empsCollection)
Création simple d'une entité à partir d'une collection :
C_COLLECTION($empsCollection)
C_OBJET($emp;$employees)
$empsCollection:=Creer collection
$emp:=Creer objet
$emp.firstName:="Victor"
$emp.lastName:="Hugo"
$empsCollection.push($emp)
$employees:=ds.Employee.fromCollection($empsCollection)
Nous souhaitons créer une entité. La propriété __NEW est à Vrai, la clé primaire de l'employé n'est pas fournie :
C_COLLECTION($empsCollection)
C_OBJET($emp;$employees)
$empsCollection:=Creer collection
$emp:=Creer objet
$emp.firstName:="Mary"
$emp.lastName:="Smith"
$emp.employer:=Creer objet("__KEY";121) //Clé primaire existante dans la dataclass relative Company
$emp.__NEW:=Vrai
$empsCollection.push($emp)
$employees:=ds.Employee.fromCollection($empsCollection)
Nous souhaitons créer une entité. La propriété __NEW n'est pas passée, la clé primaire de l'employé est fournie et n'existe pas :
C_COLLECTION($empsCollection)
C_OBJET($emp;$employees)
$empsCollection:=Creer collection
$emp:=Creer objet
$emp.ID:=10000 //clé primaire qui n'existe pas
$emp.firstName:="Françoise"
$emp.lastName:="Sagan"
$empsCollection.push($emp)
$employees:=ds.Employee.fromCollection($empsCollection)
Dans cet exemple, la première entité sera bien créée mais la seconde création échouera car les deux entités utilisent la même clé primaire :
C_COLLECTION($empsCollection)
C_OBJET($emp;$emp2;$employees)
$empsCollection:=Creer collection
$emp:=Creer objet
$emp.ID:=10001 // Clé primaire inexistante
$emp.firstName:="Simone"
$emp.lastName:="Martin"
$emp.__NEW:=Vrai
$empsCollection.push($emp)
$emp2:=Creer objet
$emp2.ID:=10001 // ERREUR clé primaire identique
$emp2.firstName:="Marc"
$emp2.lastName:="Smith"
$emp2.__NEW:=Vrai
$empsCollection.push($emp2)
$employees:=ds.Employee.fromCollection($empsCollection)
//la première entité est créée
//erreur clé dupliquée pour la seconde
Produit : 4D
Thème : ORDA - DataClass
Nom intl. : dataClass.fromCollection( )
4D - Langage ( 4D v18)