1 from PyQt4 import QtSql, QtCore
2 from tableDeBase import TableDeBase
4 class TableRatios (TableDeBase):
6 TableDeBase.__init__(self,"Ratios")
7 self.setField(('Maillage','Version','Machine','RatioMax','RatioMin','Quartile1','Mediane','Quartile3','Moyenne'))
8 self.setTypeField(('int','int','str','float','float','float','float','float','float'),('idMaillage','idVersion','Machine'))
10 def createSqlTable(self):
11 query=QtSql.QSqlQuery()
13 texteQuery ="create table Ratios(idMaillage int, idVersion int, Machine varchar(10),"
14 texteQuery+="RatioMax float, RatioMin float, "
15 texteQuery+="Q1 float,"
16 texteQuery+="Mediane float,"
17 texteQuery+="Q3 float,"
18 texteQuery+="Moyenne float,"
19 texteQuery+="foreign key (idMaillage) references Maillages(id),"
20 texteQuery+="foreign key (idVersion) references Versions(id),"
21 texteQuery+="foreign key (Machine) references Machines(nomMachine),"
22 texteQuery+="primary key (idMaillage,idVersion,Machine));"
24 print "Creation de TableRatios : " , query.exec_(texteQuery)
26 def getVal(self,idMaillage, idVersion, Machine, Entite):
27 query=QtSql.QSqlQuery()
28 texteQuery ='select '+ str(Entite) + ' from Ratios where idMaillage='+str(idMaillage)
29 texteQuery+=' and idVersion='+str(idVersion)
30 texteQuery+=" and Machine='" + str(Machine) +"';"
31 query.exec_(texteQuery)
33 val=0 # Valeur si l enregistrement n existe pas
34 while (query.next()) :
35 val=query.value(0).toInt()[0]
37 if nb > 1 : print "Double valeur de Reference dans la table des mailles"