====== db_common ======
===== 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:
vdict = db_common.dbgenericselectindict(gses, "facture", "FACTURE_ID", ["FACTURE_NUM","FACTURE_DATE","FACTURE_TTC"])
print vdict
On obtiendra
{"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}}
===== 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:
nomclient = db_common.dbgenericgetvalue(
usession = gses,
itbl = "facture",
ifldkey = "CLIENT_NUM",
ifldkeyval = 1005,
ifldkey2 = "CLIENT_SOCIETE",
ifldkeyval2 = "MASOCIETE",
ifldtoreturn = "CLIENT_NOM"
)