Outils pour utilisateurs

Outils du site


dev:api:python:db_common

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
dev:api:python:db_common [2017/08/25 14:12]
florian créée
dev:api:python:db_common [2023/06/13 13:46] (Version actuelle)
florian [Exemples]
Ligne 3: Ligne 3:
 ===== dbgenericselectindict ===== ===== dbgenericselectindict =====
  
 +generic function to select multiple records and return them in a dict
 +
 +>>>​ ret=db_common.dbgenericselectindict(session,"​test","​test_id",​["​fld1","​fld2","​fldx"​],"​fld","​A","​fld2","​D","​fld2",​2,">"​)
 +Execute query : select fld1,​fld2,​fldx,​test_id from test where fld2 > 2 order by fldx ASC, fld2 DESC; and put results in a dict
 +>>>​ print ret
 +[8 :​["​fld1"​ : "​foo",​ "​fld2"​ : 4, "​fldx"​ : "​bar"​],​9 :​["​fld1"​ : "​foox",​ "​fld2"​ : 3, "​fldx"​ : "​cbar"​],​....] keys 8,9 are test_id values
 +
 +==== Paramètres ====
 +
 +^ Paramètre ^ Type ^ Default ^ Description ^
 +| **usession** | session ​ | None | NCHP Session ​ |
 +| **itbl** | string ​ | None | table to fetch  |
 +| **ifldkey** | string ​ | None | fields that wil be key for return dict  |
 +| **iflds** | list  | None | fields to put values in  |
 +| **iorder** | string ​ | None | Field for default sort  |
 +| **isens** | "​A"​ or "​D" ​ | A | sort ascendant or descendant ​ |
 +| **iorderother** | string ​ |  | optional second sort  |
 +| **isensother** | "​A"​ or "​D" ​ | A | sort ascendant or descendant for second sort  |
 +| **ifldcond** | string ​ |  | optional field to check in where clause ​ |
 +| **ifldcondval** | undefined ​ |  | optional value for field to check in where clause ​ |
 +| **ifldop** | string ​ | = | optional operator for field to check in where clause ​ |
 +| **ifldcond2** | string ​ |  | optional second field to check in where clause ​ |
 +| **ifldcondval2** | undefined ​ |  | optional second value for field to check in where clause ​ |
 +| **ifldop2** | string ​ | = | optional second operator for field to check in where clause ​                  |
 +| **dbtype** |  | None |  |
 +| **ifldcond3** |  |  |  |
 +| **ifldcondval3** |  |  |  |
 +| **ifldop3** |  | = |  |
 +
 +
 +==== Retour ====
 +
 +^ Type de retour ^ Valeur de retour ^
 +| dict  | dictionary containing recordset |
 +
 +{{:​wiki:​icons:​info.png}} Ne vous fiez pas aux paramètres d'​ordre car le résultat étant un dictionnaire,​ l'​ordre des clés/​valeurs dans un dictionnaire en Python est arbitraire (et vous ne pourrez pas le connaitre).
 +
 +==== Exemples ====
 +
 +Par exemple si l'on veut sélectionner tout les enregistrements de la table facture sans spécifier d'​ordre ou de conditions:
 +<code python>
 +vdict = db_common.dbgenericselectindict(gses,​ "​facture",​ "​FACTURE_ID",​ ["​FACTURE_NUM","​FACTURE_DATE","​FACTURE_TTC"​])
 +print vdict
 +</​code>​
 +
 +On obtiendra
 +<code python>
 +{"​7":​{"​FACTURE_NUM":"​F001013",​FACTURE_DATE:"​2017-08-28 00:​00:​00","​FACTURE_TTC":​2450.30}, ​
 + "​8":​{"​FACTURE_NUM":"​F001027",​FACTURE_DATE:"​2017-08-31 00:​00:​00","​FACTURE_TTC":​1370.0}}
 +</​code>​
 +
 +
 +===== dbgenericselect =====
 +
 +generic function to fetch record in a system table on a primary key
 +
 +>>>​ ret=db_common.dbgenericselect(session,"​test",​32,"​fld1","​fld2","​fldx"​)
 +Execute query : select fld1,​fld2,​fldx from test where test_id=32;
 +
 +==== Paramètres ====
 +
 +^ Paramètre ^ Type ^ Default ^ Description ^
 +| **usession** | session ​ | None | NCHP Session ​ |
 +| **itbl** | string ​ | None | table to fetch  |
 +| **iidval** | long  | None | Primary Key of record to get  |
 +| **itblfld** | string multiple ​ | None | fields to get  |
 +
 +
 +==== Retour ====
 +
 +^ Type de retour ^ Valeur de retour ^
 +| list,​description ​ | row selected , description of fields (datatype etc) : see description in db modules (db_mysql,​db_postgres etc....) |
 +
 +===== dbgenericgetvalue =====
 +
 +Retourne la valeur de la colonne souhaitée du premier enregistrement qui satisfait les filtres.
 +
 +==== Paramètres ====
 +
 +^ Paramètre ^ Type ^ Default ^ Description ^
 +| **usession** | session ​ | None | NCHP Session ​ |
 +| **itbl** | string ​ | None | La table source ​ |
 +| **ifldkey** | string ​ | None | Nom de la première colonne filtre (obligatoire) ​ |
 +| **ifldkeyval** | value  | None | Valeur du premier filtre ​ |
 +| **ifldtoreturn** | string ​ | None | Nom de la colonne dont on veut obtenir la valeur ​ |
 +| **ifldkey2** | string ​ |  | Nom de la deuxième colonne filtre ​ |
 +| **ifldkeyval2** | value  |  | Valeur du deuxième filtre ​                  |
 +| **ifldkey3** | string ​  ​| ​ | Nom de la troisième colonne filtre |
 +| **ifldkeyval3** | value   ​| ​ | Valeur du troisième filtre |
 +| **ifldkey4** | string ​  ​| ​ | Nom de la quatrième colonne filtre |
 +| **ifldkeyval4** | value   ​| ​ | Valeur du quatrième filtre |
 +
 +
 +==== Retour ====
 +
 +^ Type de retour ^ Valeur de retour ^
 +|  | La valeur trouvée ou None |
 +
 +==== Exemples ====
 +
 +Par exemple si l'on veut obtenir le nom du client dont le numéro est 1005:
 <code python> <code python>
-dbgenericselectindict(usession,​ +nomclient = db_common.dbgenericgetvalue( 
-                      itbl+ usession ​= gses
-                      ifldkey,  + itbl = "facture", 
-                      iflds,  + ifldkey ​= "CLIENT_NUM", 
-                      iorder,  + ifldkeyval ​1005
-                      isens="A",  + ifldkey2 ​= "CLIENT_SOCIETE", 
-                      ​iorderother="",​  + ifldkeyval2 ​= "MASOCIETE", 
-                      ​isensother="​A"​+ ifldtoreturn ​= "CLIENT_NOM
-                      ​ifldcond="",​ +)
-                      ​ifldcondval="",​ +
-                      ​ifldop="=", +
-                      ​ifldcond2="",​ +
-                      ifldcondval2="",​ +
-                      ifldop2="​=",​ +
-                      dbtype=None,​ +
-                      ifldcond3="",​ +
-                      ifldcondval3="",​ +
-                      ifldop3="​="​)+
 </​code>​ </​code>​
-=== Paramètres === 
  
-  * usession => L'​objet session ezged 
-  * itbl => Nom de la table source 
-  * ifldkey => Champ de la table qui servira de clé au dictionnaire résultat 
-  * iflds => Liste des champs à inclure dans le résultat 
-  * iorder => Champ 
-  * isens="​A"​ =>  
-  * iorderother=""​ =>  
-  * isensother="​A"​ => 
-  * ifldcond=""​ => 
-  * ifldcondval=""​ => 
-  * ifldop="​="​ => 
-  * ifldcond2=""​ => 
-  * ifldcondval2=""​ => 
-  * ifldop2="​="​ => 
-  * dbtype=None => 
-  * ifldcond3=""​ => 
-  * ifldcondval3=""​ => 
-  * ifldop3="​="​ => 
dev/api/python/db_common.1503670333.txt.gz · Dernière modification: 2023/03/17 09:56 (modification externe)