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] – créée floriandev:api:python:db_common [2023/06/13 13:46] (Version actuelle) – [Exemples] florian
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 : (modification externe)