Ci-dessous, les différences entre deux révisions de la page.
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="=" => |