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

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
dev:api:python:db_common [2017/08/28 14:12]
florian
dev:api:python:db_common [2023/06/13 13:46] (Version actuelle)
florian [Exemples]
Ligne 3: Ligne 3:
 ===== dbgenericselectindict ===== ===== dbgenericselectindict =====
  
-Fonction générique de sélection d'​enregistrements d'une tableRetourne un dictionnaire indexé selon la valeur d'un champ choisi.+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ètres ====
Ligne 27: Ligne 32:
 | **ifldop3** |  | = |  | | **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: Par exemple si l'on veut sélectionner tout les enregistrements de la table facture sans spécifier d'​ordre ou de conditions:
Ligne 34: Ligne 48:
 </​code>​ </​code>​
  
-On obtiendras+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>
-{"7":{"FACTURE_NUM":"F001013",FACTURE_DATE:​"2017-08-28 00:00:00","​FACTURE_TTC":2450.30}}+nomclient = db_common.dbgenericgetvalue( 
 + usession = gses, 
 + itbl = "facture"
 + ifldkey = "CLIENT_NUM"
 + ifldkeyval = 1005, 
 + ifldkey2 = "CLIENT_SOCIETE", 
 + ifldkeyval2 = "MASOCIETE", 
 + ifldtoreturn = "CLIENT_NOM" 
 +)
 </​code>​ </​code>​
-gses est le nom de la variable qui référence l'​instance de connexion vers à la base de données. 
  
dev/api/python/db_common.1503929574.txt.gz · Dernière modification: 2023/03/17 09:56 (modification externe)