Salome HOME
Merge tag 'V8_3_0a2' into ngr/python3_dev
[modules/smesh.git] / src / Tools / Verima / Base / tableMailles.py
1 from qtsalome import QSqlQuery
2 from .tableDeBase import TableDeBase
3
4 class TableMailles (TableDeBase):
5       def __init__(self):
6          TableDeBase.__init__(self,"Mailles")
7          self.setField(('Maillage','Version','Entite','NbEntite'))
8          self.setTypeField(('int','int','str','int'),('idMaillage','idVersion','Entite'))
9
10
11       def createSqlTable(self):
12           query=QSqlQuery()
13
14
15           texteQuery ="create table Mailles(idMaillage int, idVersion int,  Entite var(40), NbEntite int, "
16           texteQuery+="foreign key (idMaillage) references Maillages(id)," 
17           texteQuery+="foreign key (idVersion) references Versions(id)," 
18           texteQuery+="primary key (idMaillage,idVersion,Entite));"
19
20           print("Creation de TableMailles : " , query.exec_(texteQuery))
21
22  
23       def getVal(self,idMaillage, idVersion,  Entite):
24             query=QSqlQuery()
25             texteQuery ='select NbEntite from Mailles where idMaillage='+str(idMaillage) 
26             texteQuery+=' and  idVersion='+str(idVersion) 
27             texteQuery+=" and Entite='" + str(Entite)  +"';"
28             query.exec_(texteQuery)
29             nb=0
30             val=0                          # Valeur si l enregistrement n existe pas
31             while (next(query)) :
32                val=query.value(0).toInt()[0]
33                nb=nb+1
34             if nb > 1 : print("Double valeur de Reference dans la table des mailles")
35             return val
36
37
38       def getAllEntity(self):
39             query=QSqlQuery()
40             texteQuery ="select distinct Entite from Mailles;"
41             query.exec_(texteQuery)
42             maListe=[]
43             while (next(query)) :
44                 maListe.append(str(query.value(0).toString()))
45             return maListe