====== Sql ======
Cet objet vous permet d'établir une connexion à une base SQL de type MySQL, PostgreSQL, SQLite et autres.
===== Fonctions =====
==== Sql ====
Fontion de construction.
=== Syntaxe ===
var myObject = new Sql(driver);
=== Arguments ===
- driver - ([[#driver|Driver]]) le pilote de la base de données à utiliser
=== Exceptions ===
* (NoDatabaseDriverError) aucun pilote de base de données renseigné
=== Example ===
Créer un objet Sql utlisant une base de données MySQL.
var myObject = new Sql(Sql.MySQL);
=== Notes ===
Les pilotes MySQL, PostgreSQL, SQLite 3, Firebird et ODBC sont installés par défaut sur Windows uniquement.
Pour voir tous les pilotes disponibles il vous faut appeler la fonction [[#drivers|drivers]].
==== drivers ====
Renvoie une liste des Pilotes disponibles.
=== Syntaxe ===
Sql.drivers();
===== Méthodes =====
==== connect ====
Ouvrir une connexion avec une base de données.
=== Syntaxe ===
myObject.connect(parameters);
=== Arguments ===
- parameters - (object) les paramètres de connexion
* hostName - (string) le nom de l'hébergement
* port - (integer) le port à utiliser (utilise le port par défaut si non définit)
* databaseName - (string) le nom de la base de données (Quand vous utilisez SQLite c'est le nom de fichier de votre base de données)
* userName - (string) le nom d'utilisateur
* password - (string) le mot de passe
* options - (string) les options de connexion (voir [[http://doc.qt.nokia.com/latest/qsqldatabase.html#setConnectOptions]])
=== Renvoie ===
* (Sql) ce Sql
=== Exceptions ===
* (DatabaseDriverUnavailableError) ce pilote n'est pas disponible
* (ConnectionError) échec de connexion
==== prepare ====
Préparer une requête sur la base de données actuelle.
=== Syntaxe ===
myObject.prepare(queryString, parameters);
=== Arguments ===
- queryString - (string) le "string" de requête à préparer
- parameters - (object) les paramètres de préparation
=== REnvoie ===
* (Sql) ce Sql
=== Exceptions ===
* (PrepareQueryError) ne parvient pas à préparer la requête
=== Exemple ===
myObject.prepare("INSERT INTO myTable (id, data) VALUES(:id, :data)", {
id: 1,
data: "My data"
});
==== execute ====
Exécuter une requête préparée ou exécuter une requête sur la base de données actuelle.
=== Syntaxe ===
myObject.execute(queryString);
myObject.execute();
=== Arguments ===
- queryString - (string) le "string" de requête à exécuter
=== Renvoie ===
* (Sql) ce Sql
=== Exceptions ===
* (ExecuteQueryError) l'exécution de la requête a échoué
==== fetchResult ====
Retrouver le résultat d'une requête précédemment exécutée.
=== Syntaxe ===
myObject.fetchResult(indexStyle);
myObject.fetchResult();
=== Arguments ===
- indexStyle - ([[#indexstyle|IndexStyle]]) le style d'indexation de restitution
=== Returns ===
* (Sql) ce Sql
=== Exceptions ===
* (FetchError) ne peut restituer le résultat d'une requête non sélectionnée
==== disconnect ====
Déconnecter de la base de données actuelle.
=== Syntaxe ===
myObject.disconnect();
=== Renvoie ===
* (Sql) ce Sql
===== Enumerations =====
==== Driver ====
Les pilotes SQL. Les pilotes MySQL, PostgreSQL, SQLite 3, Firebird et ODBC sont installés par défaut sur Windows uniquement.
=== Valeurs ===
- SQLite2: [[http://www.sqlite.org/|SQLite 2]]
- SQLite: [[http://www.sqlite.org/|SQLite 3]]
- PostgreSQL: [[http://www.postgresql.org/|PostgreSQL]] (versions 7.3 et supérieur)
- MySQL: [[http://www.mysql.com/|MySQL]]
- ODBC: [[http://msdn.microsoft.com/en-us/library/ms710252(v=vs.85).aspx|Open Database Connectivity]] (ODBC) - Microsoft SQL Serveur et autre base de données conforme ODBC
- InterBase: [[http://www.borland.com/fr/products/interbase/index.html|Borland InterBase]] ([[http://www.firebirdsql.org/|Firebird]])
- OCI: [[http://www.oracle.com/technetwork/database/features/oci/index.html|Oracle Call Interface Driver]]
- TDS: [[http://www.sybase.com/products/databasemanagement/adaptiveserverenterprise|Sybase Adaptive Server]] (obsolète)
- DB2: [[http://www-01.ibm.com/software/data/db2/|IBM DB2]] (version 7.1 et supérieur)
==== IndexStyle ====
Retrouver le style d'un index.
=== Valeurs ===
- IndexNumber: indexe les résultats par numéro
- IndexName: indexe les résultats par colonne nom