DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Exemple 1: Ajout d'un enregistrement dans une table Client
  • Exemple 2: Transfert des enregistrements entre une table et son alias
Exemple 1: Ajout d'un enregistrement dans une table Client
PHPHFSQL ClassicHFSQL Client/ServeurHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs) La fiche client est affichée à l'écran. La fonction FenêtreVersDonnées permet de charger les valeurs saisies en mémoire.
// Ajout d'un enregistrement dans un fichier de données client
FenêtreVersDonnées()
SI HAjoute(CLIENT) = Faux ALORS
	Erreur("Impossible d'ajouter le client")
FIN
Exemple 2: Transfert des enregistrements entre une table et son alias
HFSQL ClassicHFSQL Client/ServeurHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs) Une table "Client" est créée ainsi que son alias.
Dans la table "Client", un nouvel enregistrement est créé en fixant l'identifiant automatique (IDCLIENT) à 1001.
Dans l'alias ALIASCLIENT, la gestion des identifiants automatique par défaut est conservée: l'identifiant automatique démarre à 1.
Les enregistrements sont copiés de l'alias à la table "Client" grâce à la fonction HCopieEnreg. L'identifiant automatique de l'enregistrement est conservé lors de la copie (constante hCopieIdAuto). L'enregistrement copié est alors ajouté à la table "Client". Les risques de doublons sont minimisés.
// Création de la table CLIENT
HCrée(CLIENT)
// Affectation de l'identifiant automatique
CLIENT.IDCLIENT = 1001
// Ajout d'un enregistrement dans le fichier de données Client 
// sans calcul de l'identifiant automatique
// On réserve les 1000 premiers enregistrements
SI HAjoute(CLIENT, hFixeIDAuto) = Faux ALORS
	Erreur("Impossible d'ajouter le client")
	// Détailler l'erreur en testant 
	// HErreurDoublon, HErreurIntégrité
	// HErreurBlocage
FIN
// Création de l'alias
HAlias(CLIENT, ALIASCLIENT)
HCrée(ALIASCLIENT)
// Ajout d'enregistrements dans l'alias ALIASCLIENT 
// (l'identifiant automatique sera égal à 1)
SI HAjoute(ALIASCLIENT) = Faux ALORS
   	Erreur("Impossible d'ajouter le client")
   	// Détailler l'erreur en testant 
	// HErreurDoublon, HErreurIntégrité
   	// HErreurBlocage
FIN

// Autres ajouts
...

// Copie des clients de ALIASCLIENT dans CLIENT
i est un entier = 1
HLit(ALIASCLIENT, i)
// Copie de l'enregistrement 
// tant que des enregistrements sont présents dans l'alias
// et que l'identifiant ne dépasse pas 1000
TANTQUE PAS HEnDehors(ALIASCLIENT) ET ALIASCLIENT.IDClient < 1001
   	// Copie l'enregistrement de ALIASCLIENT dans le fichier de données CLIENT
   	HCopieEnreg(CLIENT, ALIASCLIENT, hCopieIDAuto)
   	// Ajout de l'enregistrement
   	SI HAjoute(CLIENT, hFixeIDAuto) = Faux ALORS
		Erreur("Impossible d'ajouter le client")
		// Détailler l'erreur en testant 
		// HErreurDoublon, HErreurIntégrité
		// HErreurBlocage
	FIN
   	// Prochain enregistrement de l'alias
   	i++
   	HLit(ALIASCLIENT, i)
FIN
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Example
If Hadd(Customers) = true

toastdisplay("Gravou com sucesso")

else

info("Erro inesperador! "+ herrorinfo() + error())

end

/// or

ok is boolean = Hadd(Customers)
Boller
18 juil. 2020
Duplicar Registros
//Duplicar Registros

Nessa aula vou mostrar como eu faço para duplicar Registros

pedido.data_emissao=DateSys()
HAdd(pedido)
TableDisplay(TABLE_Pedido)

//Blog com Video e Exemplo

http://windevdesenvolvimento.blogspot.com.br/2016/10/aula-930-windev21-curso-246-dica.html

https://www.youtube.com/watch?v=gbFkTcVYeTA
De matos
04 oct. 2016

Dernière modification : 06/12/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale