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édentesRévision précédente
Prochaine révision
Révision précédente
dev:api:python:db_common [2017/08/28 13:50] floriandev:api:python:db_common [2023/06/13 13:46] (Version actuelle) – [Exemples] florian
Ligne 3: Ligne 3:
 ===== dbgenericselectindict ===== ===== dbgenericselectindict =====
  
-==== Signature ==== +generic function to select multiple records and return them in a dict 
-<code python> + 
-dbgenericselectindict(usession, +>>> ret=db_common.dbgenericselectindict(session,"test","test_id",["fld1","fld2","fldx"],"fld","A","fld2","D","fld2",2,">"
-                      itbl, +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 
-                      ifldkey +>>> print ret 
-                      iflds +[8 :["fld1" : "foo", "fld2: 4"fldx" : "bar"],9 :["fld1""foox", "fld2: 3, "fldx: "cbar"],....] keys 8,9 are test_id values 
-                      iorder +
-                      isens="A",  +
-                      iorderother="",  +
-                      isensother="A", +
-                      ifldcond="", +
-                      ifldcondval="", +
-                      ifldop="=", +
-                      ifldcond2="", +
-                      ifldcondval2="", +
-                      ifldop2="=", +
-                      dbtype=None, +
-                      ifldcond3="", +
-                      ifldcondval3="", +
-                      ifldop3="=") +
-</code>+
 ==== Paramètres ==== ==== Paramètres ====
  
Ligne 45: 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.1503928218.txt.gz · Dernière modification : (modification externe)