Problème base de données avec gadfly
Bonjour,
je souhaite développer une BDD avec gadfly. j'ai donc écrit le code suivant (en m'inspirant largement du tutoriel trouvé sur ce site)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| def __init__(self, dbName=Glob.dataBaseName, struct=Glob.profilDbStruct):
self.name=dbName
self.struct=struct
self.entry=self.struct.keys()
self.data=gadfly.gadfly
self.data.startup(self.name,'C:\Users\ggmy\Documents')
self.cursor=self.data.cursor()
def createDb(self):
for table in self.entry:
request="create table %s (" %table
for descriptList in self.struct[table]:
nameVar = descriptList[0]
typeVar = descriptList[1]
request = request+"%s %s, " %(nameVar,typeVar)
request = request[:-2]+')'
self.executeReq(request)
def executeReq(self,req):
try:
self.cursor.execute(req)
except Exception, err:
# afficher la requête et le message d'erreur système :
print "Requete SQL incorrecte :\n%s\nErreur detectee :\n%s" % (req, err)
return 0
else:
return 1 |
ce qui me permet de construire les deux requêtes suivantes :
Code:
1 2
| create table patientProfil (subjectNum integer, group varchar, subjectCode varchar, genre varchar, age varchar, main varchar)
create table parameterTests (date varchar, sessionNum varchar, placeTest varchar, examinator varchar) |
Lorsque que j’exécute les requêtes, j'obtient alors une erreur ...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
p.createDb()
File "C:\Users\ggmy\Documents\master EEA UM2\Projet M2\basededonnees\managementDb.py", line 29, in createDb
self.cursor.execute(request)
File "C:\Python27\lib\site-packages\gadfly\database.py", line 339, in execute
cs = self.commands = self.connection.sql.DoParse1(statement, context)
File "C:\Python27\lib\site-packages\gadfly\kjParser.py", line 1161, in DoParse1
return self.DoParse(String, Context, DoReductions)[0]
File "C:\Python27\lib\site-packages\gadfly\kjParser.py", line 1153, in DoParse
ParseResult = ParseOb.GO()
File "C:\Python27\lib\site-packages\gadfly\kjParser.py", line 827, in GO
self.DoOneReduction()
File "C:\Python27\lib\site-packages\gadfly\kjParser.py", line 760, in DoOneReduction
self.ParseError(current,tokenVal, "nomatch1")
File "C:\Python27\lib\site-packages\gadfly\kjParser.py", line 811, in ParseError
raise SyntaxError, 'unexpected token sequence.' + data
SyntaxError: unexpected token sequence.near ::
'ectNum integer,'*' group varchar,' |
j'ai cherché tout le week-end comment faire pour que cela fonctionne mais rien de concluant.
J'espère avoir plus de chance sur ce forum !:cry:
Merci par avance pour vos réponses