Base de Données

Voir le sujet précédent Voir le sujet suivant Aller en bas

Base de Données

Message par Morgan9195 le Ven 28 Aoû - 2:23



Base de Données

Ce code a été conçu avec la version 0.6.146 de Script.
(Si vous souhaitez l'utiliser mais qu'il n'est pas mis à jour, veuillez m'en faire part et je m'en chargerai)



Description

Ce code ajoute une base de données locale à un projet Script (sans interaction avec internet pour ceux qui connaissent les bases de données SQL en langage web).

Une base de donnée est une liste de tableaux dans lesquelles sont rangés de manière ordonnée des informations.
Une base de donnée contient plusieurs tableaux.
Chaque tableau a deux entrées:
- Le nom de l'information (une colonne par variable)
- L'identifiant de l'élément (une ligne par élément)

Pour stocker des utilisateurs, on peut donc avoir besoin de créer un tableau comme ça dans notre base de données:


Xpseudocomptemot de passe
0GérardMenvusaL9U8B5FEDCX
1totocompteP4s$w0rD
2Morgan9195morgansecret
Donc dans un tableau de base de donnée, chaque ligne est un élément, et chaque valeur a sa propre colonne.



Utilisation


Pour utiliser les bases de données, il faut déjà importer le fichier database.script que vous pouvez télécharger ci-dessous.
Placez-le dans le dossier "res\scr\" de vote projet et ajouter cette ligne au début du fichier program.script:
Code:
#include database.script

Les fonctions de manipulation de la base de donnée sont:
- objlist = dbcreate(name);
- dbdelete(name/objlist);
- dbadd(objlist, var);
- dbremove(objlist, var);
- objlist = dbimport(name);
- dbexport(name/objlist);
- dbfree(name/objlist);
- list = dbcolumn(name/objlist, var);

J'explique les arguments des fonctions:
- name: nom du tableau au format texte
- objlist: liste d'objets. Chaque objet est un élément du tableau
- var: nom de la colonne au format texte
- list: liste e valeurs de type texte ou numérique

Leur utilité:
- dbcreate(): créer un tableau
- dbdelete(): supprime un tableau
- dbadd(): ajoute une colonne
- dbremove(): retire une colonne
- dbimport(): importe un tableau
- dbexport(): exporte un tableau
- dbfree(): supprime le tableau de la ram, mais pas de la base de donnée
- dbexists(): retourne si un tableau existe
- dbcolumn(): retourne la liste des elements d'une seule colonne

Certaines fonctions tolèrent des argument différents. par exemple, pour la fonction:
dbdelete(name/objlist);
vous pouvez aussi bien l'utiliser comme ceci:
dbdelete(name);
que comme cela:
dbdelete(objlist);
Le code de la fonction saura faire la différence et retrouver la bonne information.

En utilisant ce code de base de donnée, on utilise donc des listes d'objets.
La liste entière représente un tableau complet. Chaque élément représente une ligne de ce tableau.

Pour obtenir un élément (objet) de ce tableau (liste), nous allons faire appel à la fonction ds_list_find_value(liste, id);

Une fois l'élément isolé, on accédera à l'une de ses valeurs de cette manière:
objet.compte

On peut donc modifier ça valeur comme ça:
objet.compte = "morgan";

Ou obtenir la valeur comme ceci:
variable = objet.compte;

Voici une série d'exemples qui vous parleront surement mieux que des explications très globales sur ces fonctions.

Code:

users = dbimport("users");
if (ds_list_empty(users))
 show_message("Aucun utilisateur n'est enregistré");
else
 show_message(ds_list_size(users)+" utilisateurs sont enregistrés");
dbfree(users);

Code:

pseudo = "Morgan9195";
users = dbimport("users");
colonne_pseudo = dbcolumn(users, "pseudo");
identifiant = ds_list_find_index(colonne_pseudo, pseudo);
if (identifiant != -1)
 show_message("Ce pseudo est déjà utilisé par quelqu'un d'autre");
else
 show_message("Ce pseudo est disponible");
ds_list_destroy(colonne_pseudo);
dbfree(users);

Code:

objet = object_create();

users = dbcreate("users");
dbadd(users, "pseudo");
dbadd(users, "password");
user = instance_create(0, 0, objet);
user.pseudo = "prenom";
user.password = hash("motdepasse");
ds_list_add(users, user);
dbexport(users);
dbfree(users);
show_message("Nouveau tableau créé avec son premier élément");

Code:

objet = object_create();

users = dbimport("users");
user = instance_create(0, 0, objet);
user.pseudo = "prenom";
user.password = hash("motdepasse");
ds_list_add(users, user);
dbexport(users);
dbfree(users);
show_message("Compte créé avec succès");

Facile, non?

Dernière petite précision: La base de données va manipuler librement des fichiers dans un nouveau dossier qu'elle va créer. Ces fichiers contiennent les informations de la base de données.
Ceci vous permet donc de récupérer des données sauvegardés antérieurement. Ainsi, les comptes restent inscrits même si vous redémarrez votre programme.



Le fichier database.script est téléchargeable ici:
[Vous devez être inscrit et connecté pour voir ce lien]
(Si vous souhaitez l'utiliser mais qu'il n'est pas mis à jour, veuillez m'en faire part et je m'en chargerai)



________________________________________________________________________________________
[Vous devez être inscrit et connecté pour voir ce lien]
avatar
Morgan9195
Fondateur
Fondateur

Messages : 168
Date d'inscription : 11/02/2013
Age : 22
Localisation : Entre le fauteuil et le clavier

Projet(s)
Niveau de connaissances dans Script: Professionnel
Spécialité: Programmeur

Voir le profil de l'utilisateur http://morgan9195.olympe.in/devblog/

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum