1 from PyQt4 import QtSql, QtCore
2 from tableDeBase import TableDeBase
4 class TableVersions (TableDeBase):
6 TableDeBase.__init__(self,"Versions")
7 self.setField(("id","nomVersion","Reference"))
8 self.setTypeField(('int','str','str'),("id"))
9 self.cols=" (nomVersion, ref) "
11 def createSqlTable(self):
12 query=QtSql.QSqlQuery()
13 texteQuery ="create table Versions(id integer primary key autoincrement, nomVersion varchar(10),"
14 texteQuery+="ref varchar(3));"
15 print "Creation de TableVersions : " , query.exec_(texteQuery)
17 def dejaRemplie(self):
18 texteQuery="select * from Versions where nomVersion='Salome6.6';"
19 maQuery=QtSql.QSqlQuery()
20 maQuery.exec_(texteQuery)
22 while(maQuery.next()): nb=nb+1
27 if self.dejaRemplie():
28 print "Table des Versions deja initialisee"
30 self.insereLigneAutoId(('Salome6.6','non'))
31 self.insereLigneAutoId(('Salome7.3','oui'))
33 def creeVersion(self,version):
34 self.insereLigneAutoId((version,'non'))
37 def chercheVersion(self,version):
38 query=QtSql.QSqlQuery()
40 if QtCore.QString(version).toInt()[1]==True :
41 texteQuery ="select id, nomVersion from Versions where id = " + str(version) +";"
43 texteQuery ="select id, nomVersion from Versions where nomVersion ='" + version +"' ;"
44 query.exec_(texteQuery)
48 id=query.value(0).toInt()[0]
49 nom=query.value(1).toString()
50 if nb != 1 : return 0, 0, ""
53 def remplaceVersion(self,version):
54 bOk,versionId,versionName = self.chercheVersion(version)
55 if bOk == 0 : return "La version choisie comme version de reference n est pas dans la base"
56 query=QtSql.QSqlQuery()
57 texteQuery ='update Versions set ref="non" where ref="oui";'
58 query.exec_(texteQuery)
59 texteQuery ='update Versions set ref="oui"where id='+str(versionId)+";"
60 query.exec_(texteQuery)
61 return "changement effectue"
63 def getVersionRef(self):
64 query=QtSql.QSqlQuery()
65 texteQuery ='select id from Versions where ref="oui";'
66 query.exec_(texteQuery)
67 while (query.next()) :
68 id=query.value(0).toInt()[0]
69 while (query.next()) :
70 print "Base corrompue : plusieurs versions de reference"