Bonjour,
je rencontre une difficulté sur lors d'un changement d'état : l'erreur 3104 : "A SQLConnection must be open to perform this operation" s'affiche.
Le fichier mxml de base est composé de 5 états :
DiapAccueil.mxml contient la fonction start : si la base de données est trouvée on remplit un tableau datagrid (ouverture1) sinon on créé la base de données (ouverture0)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <s:states> <s:State name="Debut"/> <s:State name="State0"/> <s:State name="State1"/> <s:State name="State2"/> <s:State name="State3"/> <vues:DiapAccueil includeIn="Debut" width="100%" height="100%" ChangEtat="affEtatDebut(event)"/> <vues:Diap0a includeIn="State0" width="100%" height="100%" ChangEtat="affEtat0(event)"/> <vues:Diap0b includeIn="State1" width="100%" height="100%" ChangEtat="affEtat1(event)" /> <vues:Diap1 includeIn="State2" width="100%" height="100%" ChangEtat="affEtat2(event)" /> <vues:Diap2 includeIn="State3" width="100%" height="100%" ChangEtat="affEtat3(event)" /> </s:states>
Ici le traitement fonctionne.
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 public var sqlc:SQLConnection = new SQLConnection(); private var sqls:SQLStatement = new SQLStatement(); private var statement:SQLStatement= new SQLStatement(); private function start():void { var db:File = File.applicationDirectory.resolvePath("kinous.bd") if(!db.exists) { sqlc.openAsync(db); sqlc.addEventListener(SQLEvent.OPEN, ouverture0); sqlc.addEventListener(SQLErrorEvent.ERROR, error); sqls.addEventListener(SQLErrorEvent.ERROR, error); sqls.addEventListener(SQLEvent.RESULT, creationBdd); } else { sqlc.openAsync(db); sqlc.addEventListener(SQLEvent.OPEN,ouverture1); sqlc.addEventListener(SQLErrorEvent.ERROR, error); statement.addEventListener(SQLErrorEvent.ERROR, error); statement.addEventListener(SQLEvent.RESULT, listeSondes); } }
Mais dès que je passe à l'état "State0" et que je procède à un traitement en rapport avec la base de données ça ne fonctionne plus...
Le passage : dans DiapAccueil :
permet de remonter vers le fichier mxml de base et d'afficher l'état State0.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <fx:Metadata> [Event(name="ChangEtat", type="flash.events.Event")] </fx:Metadata> <fx:Script source="progCommun.as"/> <fx:Script> <![CDATA[ protected function button1_clickHandler(event:MouseEvent):void { dispatchEvent(new Event("ChangEtat")); } ]]> </fx:Script>
Dans State0 le code me donnant l'erreursur clic d'un bouton)
Quelle erreur suis-je en train de faire? (Me lancer et persister dans Air loool!?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 private function interactionSql(quest:int,repQuest:int):void { statement =new SQLStatement(); statement.sqlConnection = sqlc; statement.text="update REPSONDE set numRep=7 where numQ=1;"; statement.execute(); }
Partager