DatabaseOpen

Ouvre ou crée une base de données dans le fichier spécifié.

int  DatabaseOpen(
   string  filename,      // nom du fichier
   uint    flags          // combinaison de flags
   );

Paramètres

filename

[in]  Nom du fichier, relativement au répertoire "MQL5\Files".

flags

[in]  Combinaison de flags de l'énumération ENUM_DATABASE_OPEN_FLAGS.

Valeur de Retour

En cas de succès, La fonction retourne le handle sur la base de données, qui peut être ensuite utilisé pour accéder à la base de données. Sinon, elle retourne INVALID_HANDLE. Pour obtenir le code d'erreur, utilisez GetLastError(), les réponses possibles sont :

  • ERR_INTERNAL_ERROR (4001)                       — erreur critique d'exécution ;
  • ERR_WRONG_INTERNAL_PARAMETER (4002)  - erreur interne lors de l'accès au répertoire "MQL5\Files" ;
  • ERR_INVALID_PARAMETER (4003)                  — chemin vers le fichier de base de données contenant une chaîne vide, ou la combinaison de flag est invalide ;
  • ERR_NOT_ENOUGH_MEMORY (4004)              - mémoire insuffisante ;
  • ERR_WRONG_FILENAME (5002)                     - mauvais nom de fichier de base de données ;
  • ERR_TOO_LONG_FILENAME (5003)                 - la taille du chemin absolu vers le fichier de la base de données est supérieure à la longueur auorisée ;
  • ERR_DATABASE_TOO_MANY_OBJECTS (5122) - le nombre d'objets Base de données est supérieur au maximum autorisé ;
  • ERR_DATABASE_CONNECT (5123)                  - erreur de connexion à la base de données;
  • ERR_DATABASE_MISUSE (5621)                      - utilisation incorrecte de la bibliothèque SQLite.

Note

Si le paramètre filename comporte NULL ou la chaîne vide "", un fichier temporaire est créé sur le disque. Il est automatiquement supprimé après la fermeture de la connexion à la base de données.

Si le paramètre filename comporte ":memory:", la base de données est créée en mémoire et est automatiquement supprimée après la fermeture de la connexion.

Si le paramètre flags ne comporte aucun des indicateurs DATABASE_OPEN_READONLY ou DATABASE_OPEN_READWRITE, l'indicateur DATABASE_OPEN_READWRITE est utilisé.

Si l'extension du fichier n'est pas spécifiée, ".sqlite" est utilisé.

ENUM_DATABASE_OPEN_FLAGS

ID

Description

DATABASE_OPEN_READONLY

Lecture seule

DATABASE_OPEN_READWRITE

Ouverture en lecture et en écriture

DATABASE_OPEN_CREATE

Crée le fichier sur le disque si nécessaire

DATABASE_OPEN_MEMORY

Crée la base de données en mémoire

DATABASE_OPEN_COMMON

Le fichier est dans le répertoire commun de tous les terminaux

Voir aussi

DatabaseClose