====== 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