DatabaseOpen

Belirtilen dosyada veritabanı açar veya oluşturur.

int  DatabaseOpen(
   string  filename,      // dosya adı
   uint    flags          // bayrak kombinasyonu
   );

Parametreler

filename

[in]  "MQL5\Files" dizinindeki dosya adı.

flags

[in] ENUM_DATABASE_OPEN_FLAGS listesinden bayrak kombinasyonu.

Geri dönüş değeri

Başarılı bir şekilde yürütülürse, fonksiyon veritabanına erişmek için kullanılan veritabanı tanıtıcı değerini geri döndürür. Aksi takdirde, INVALID_HANDLE geri döner. Hata kodunu almak için GetLastError() kullanın, olası yanıtlar şunlardır:

  • ERR_INTERNAL_ERROR (4001)                       – kritik çalışma zamanı hatası;
  • ERR_WRONG_INTERNAL_PARAMETER (4002)  - "MQL5\Files" klasörüne erişirken dahili hata oluştu;
  • ERR_INVALID_PARAMETER (4003)                  – veritabanı dosyasının yolu boş bir dizge içeriyor ya da uyumsuz bir bayrak kombinasyonu ayarlanmış;
  • ERR_NOT_ENOUGH_MEMORY (4004)              - yetersiz bellek;
  • ERR_WRONG_FILENAME (5002)                     - yanlış veritabanı dosyası adı;
  • ERR_TOO_LONG_FILENAME (5003)                 - veritabanı dosyasının mutlak yolu maksimum uzunluğu aşıyor;
  • ERR_DATABASE_TOO_MANY_OBJECTS (5122) - kabul edilebilir maksimum Database nesnesi sayısı aşıldı;
  • ERR_DATABASE_CONNECT (5123)                  - veritabanı bağlantı hatası;
  • ERR_DATABASE_MISUSE (5621)                      - incorrect use of the SQLite library.

Not

filename parametresi NULL ya da boş dizge "" içeriyorsa, diskte geçici bir dosya oluşturulur. Bu geçici dosya, veritabanı bağlantısı kapatıldıktan sonra otomatik olarak silinir.

filename parametresi ":memory:" içeriyorsa, veritabanı bellekte oluşturulur ve bağlantı kapatıldıktan sonra otomatik olarak silinir.

flags parametresi DATABASE_OPEN_READONLY veya DATABASE_OPEN_READWRITE bayraklarından hiçbirini içermiyorsa, DATABASE_OPEN_READWRITE bayrağı kullanılır.

Dosya uzantısı belirtilmezse, ".sqlite" kullanılır.

ENUM_DATABASE_OPEN_FLAGS

ID

Açıklama

DATABASE_OPEN_READONLY

Salt oku

DATABASE_OPEN_READWRITE

Okuma ve yazma için aç

DATABASE_OPEN_CREATE

Gerekirse dosyayı bir diskte oluştur

DATABASE_OPEN_MEMORY

RAM'de veritabanı oluştur

DATABASE_OPEN_COMMON

Dosya tüm terminallerin ortak klasöründedir

Ayrıca bakınız

DatabaseClose