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)
ce qui me permet de construire les deux requêtes suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Lorsque que j’exécute les requêtes, j'obtient alors une erreur ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
j'ai cherché tout le week-end comment faire pour que cela fonctionne mais rien de concluant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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'espère avoir plus de chance sur ce forum !
Merci par avance pour vos réponses
Partager