Caster un SQLResult() en AS3 avec SQLite et autres questions...

Caster un SQLResult() en AS3 avec SQLite et autres questions... - Flash/ActionScript - Programmation

Marsh Posté le 13-12-2008 à 04:26:32    

Bonjour,  
 
J'ai un petit soucis avec un SQLresult. Je voudrais le caster en String ou en int pour ensuite exploiter le résultat, voici le code :
 

Code :
  1. var stmt1:SQLStatement = new SQLStatement();
  2. stmt1.sqlConnection = dbConn;
  3. stmt1.text = "SELECT Cours FROM Cours_Semaine WHERE Eleve="+nom_eleve"+ AND ID="+i+"";
  4. stmt1.execute();
  5. var nom_cours :SQLResult=stmt1.getResult();


 
L'autre soucis est dans le stmt1.text, il me dit : erreur 1084 : erreur de syntaxe un rightbrace est attendu avant le AND= etc.
les nom_eleve et i sont des variables que je veux insérer dans ma requête SQL...
 
Édité par Elmoricq : balise "[Help]" retirée dans le titre du sujet.


Message édité par Elmoricq le 18-12-2008 à 23:43:23
Reply

Marsh Posté le 13-12-2008 à 04:26:32   

Reply

Marsh Posté le 15-12-2008 à 04:35:37    

Heuuu, tu comptes pas le mettre en ligne ton truc ? Elles sont stockes ou les infos de connections ?
 
Sinon pour ton problem, comme le message l'indique, c'est juste un probleme de syntaxe:
Eleve="+nom_eleve+" AND


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 15-12-2008 à 22:52:03    

Bha en fait tout est stocké dans une base de données SQLite en local, je travail sur une application air avec adobe flex...
En gros ca fait ça en tout :  
 

Code :
  1. //Accede à la base de donnée située dans le dossier db de mon projet flex
  2. var dataFile:File=new File("C:/.../MaDB.s3db" )
  3. //Ouvrir la connexion à la base de données
  4. dbConn = new SQLConnection(true);
  5. dbConn.open(dataFile);
  6. var stmt1:SQLStatement = new SQLStatement();
  7. stmt1.sqlConnection = dbConn;
  8. stmt1.text = "SELECT Cours FROM Cours_Semaine WHERE Eleve="+nom_eleve"+ AND ID="+i+"";
  9. stmt1.execute();
  10. var nom_cours :SQLResult=stmt1.getResult();


 
Mais il m'indique des erreurs sur quasiment chaque lignes : "1120 : Accès à la propriété dbConn non définie" ...
Sinon pour caster les SQLResult auriez vous une idée ? En gros je voudrais récupérer des int et des String...
 
Merci pour votre aide !

Reply

Marsh Posté le 16-12-2008 à 03:28:04    

Ah oui, Air. Interessant, j'ai pas vraiment essayé. Faut toujours faire comme avant ? Faut installer un logiciel pour pouvoir installer des programmes Air ?
Quand j'avais essayé, c'est ce qui m'avait donné de gros doutes sur sa portabilité et son avenir (du coup).

Citation :

Mais il m'indique des erreurs sur quasiment chaque lignes : "1120 : Accès à la propriété dbConn non définie" ...


Ouhla, mais t'as l'air d'avoir pas mal de problemes ...
T'as deja fait de l'AS3 un peu avant ?
 
Pour ton message d'erreur, je dirais que tu as oublié de declarer dbConn
var dbConn = new SQLConnection(true);


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 17-12-2008 à 15:57:16    

En effet je n'avais pas bien déclaré la dbConn ! Donc plus d'erreur de ce côté la...
 
Sinon j'ai récupéré les résultats sours dorme d'Array  
 

Code :
  1. var debut_cours :Array=stmt4.getResult().data;


 
Le problème c'est que je veux traiter de façon conditionnelles ces résultats... Et donc j'ai besoin de récupérér ces valeurs dans le type String de préférence.
J'ai donc effectuer la méthode .toString() à debut_cours. :  
 

Code :
  1. var debut:String;
  2. debut=debut_cours.toString();


 
Mais cela n'a pas l'air de marcher, car quand je vais dans le debugger, il m'indique le résultat suivant :  
debut="[obkect Object]", et pas la valeur que j'ai dans ma base de données...
 
Si vous avez une idée, merci d'avance !

Reply

Marsh Posté le 18-12-2008 à 03:43:38    

Ben ca veut dire que la valeur qu'il te renvoie (stmt4.getResult().data) n'est pas un tableau mais un objet.
Et tu veux faire quoi avec ces resultats ? Parce que c'est plus simple de traiter un tableau qu'une chaine.
 


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 18-12-2008 à 12:56:32    

stm4.getResult().data, me renvoie littéralement un Array de cette forme (@4a567cd1) (j'ai inventé les chiffres).
Pour récupérer la valeur il faut que je fasse debut_cours(0)?

 

En gros je veux faire des traitement conditionnels avec ces résultats, les comparés à des chaînes de caractères etc.

 

Merci de ta réponse


Message édité par Djinner le 18-12-2008 à 13:32:18
Reply

Marsh Posté le 18-12-2008 à 16:04:04    

Pour voir ce qu'il y a dedans tu peux faire un for ... in
for (var prop in debut_cours){
   trace(debut_cours[prop]);
}
 
ou quelque chose comme ca.
Va voir l'aide a for in pour la syntaxe exact ... j'ai eu une dure journée là  :sleep:


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 18-12-2008 à 19:50:39    

Je comprend moi aussi XD, j'enchaine.
 
J'ai fais ce que tu m'as dit et le trace, me retourne : [object Object].
 
Vraiment bizarre :/

Reply

Marsh Posté le 19-12-2008 à 03:30:07    

Dans l'aide, ils disent que getResult(), n'est dispo que quand les resultats sont recues, et apparement tu n'as pas d'ecouteur pour savoir quand c'est fini.
Ce qui fait que tu interoges ton truc alors qu'il n'a encore rien recu.

 

EDIT : Regarde les exemples ici : http://livedocs.adobe.com/flash/9. [...] #execute()


Message édité par Zedlefou le 19-12-2008 à 03:32:29

---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed