====== 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" )