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 13:49]
florian
dev:api:python:db_common [2023/06/13 13:46] (Version actuelle)
florian [Exemples]
Ligne 3: Ligne 3:
 ===== dbgenericselectindict ===== ===== dbgenericselectindict =====
  
-<code python> +generic function to select multiple records and return them in a dict 
-dbgenericselectindict(usession, + 
-                      itbl, +>>>​ ret=db_common.dbgenericselectindict(session,"​test"​,"​test_id"​,["​fld1"​,"​fld2"​,"fldx"],"fld","​A","​fld2","​D","​fld2",2,">"
-                      ifldkey +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 
-                      iflds +>>>​ print ret 
-                      iorder +[8 :["fld1" : "foo", "fld2" ​: 4"​fldx"​ : "​bar"​],9 :["fld1" : "foox", "fld2" ​: 3, "fldx" ​: "​cbar"​],​....] keys 8,9 are test_id values 
-                      isens="A", ​ + 
-                      iorderother="", ​ +==== Paramètres ​====
-                      isensother="​A",​ +
-                      ifldcond="",​ +
-                      ifldcondval="",​ +
-                      ifldop="=", +
-                      ifldcond2="",​ +
-                      ​ifldcondval2="",​ +
-                      ifldop2="=", +
-                      dbtype=None, +
-                      ifldcond3="",​ +
-                      ifldcondval3="",​ +
-                      ifldop3="=") +
-</​code>​ +
-=== Paramètres ===+
  
 ^ Paramètre ^ Type ^ Default ^ Description ^ ^ Paramètre ^ Type ^ Default ^ Description ^
Ligne 44: Ligne 31:
 | **ifldcondval3** |  |  |  | | **ifldcondval3** |  |  |  |
 | **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:
 +<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>
 +nomclient = db_common.dbgenericgetvalue(
 + usession = gses,
 + itbl = "​facture",​
 + ifldkey = "​CLIENT_NUM",​
 + ifldkeyval = 1005,
 + ifldkey2 = "​CLIENT_SOCIETE",​
 + ifldkeyval2 = "​MASOCIETE",​
 + ifldtoreturn = "​CLIENT_NOM"​
 +)
 +</​code>​
  
dev/api/python/db_common.1503928169.txt.gz · Dernière modification: 2023/03/17 09:56 (modification externe)