Bonjour, bonsoir
Je planche sur un probl�me depuis quelques jours maintenant et j'aimerais avoir l'avis de gens plus comp�tent que moi. �tant nouveaux avec Typescript, je n'arrive pas � ins�rer une donn�e venant d'une base de donn�e (SQLITE3) dans un objet Typescript. Je cherche simplement un faire un CRUD, mon Create fonctionne comme il faut mais le Read me pose probl�me. Je vous met le code de ma classe avec mes 2 m�thodes:
et je vous donne �galement ma classe Personnage:
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
30
31
32
33
34
35
36
37 var sqlite3 = require('sqlite3').verbose(); var db = new sqlite3.Database('RPG.db'); import Personnage from "./personnage" export default class DaoPersonnage { create(obj: Personnage) { var p = new Personnage.prototype.persoObj(obj); db.serialize(function() { var stmt = db.prepare("INSERT INTO joueurs VALUES (?, ?, ?)"); stmt.run(p.id, p.pseudo, p.lvl); stmt.finalize(); }); } read(myID: number) { var p= new Personnage(); db.serialize(() => { db.each("SELECT rowid AS id, pseudo, level FROM joueurs WHERE id=" + myID, function(err,row){ if (err === null) { p.id = row.id; p.pseudo = row.pseudo; p.lvl = row.level; p.toString(); // affiche mes 3 variables correctement console.log("row.id = " + p.id); // affiche l'id du personnage console.log("row.pseudo = " + p.pseudo); // affiche le pseudo du personnage console.log("row.level = " + p.lvl); // affiche le level du personnage console.log("Test 1"); } else console.log(err); }); }); p.toString(); // affiche undefined pour chaque variables return p; }
Voil� et du coup j'aimerai que quand je fait
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 export default class Personnage { id: number; pseudo: string; lvl: number; constructor() { } public perso(id: number, pseudo: string, lvl: number){ this.id = id; this.pseudo = pseudo; this.lvl = lvl; } public persoObj(p:Personnage) { this.id = p.id; this.pseudo = p.pseudo; this.lvl = p.lvl; } public toString() { console.log("toString: ID="+this.id+" pseudo="+this.pseudo+" lvl="+this.lvl); }
cela m'affiche l'id du personnage et non undefined
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 var dao = new DaoPersonnage(); var read = dao.read(msg.author.id); // "msg.author.id" est une commande de l'API Discord.js console.log("read = " + read.id); //affiche undefined
J'esp�re que je n'ai rien oubli� pour les infos et que quelqu'un pourra m'aider.
Partager