- DatabaseOpen
- DatabaseClose
- DatabaseImport
- DatabaseExport
- DatabasePrint
- DatabaseTableExists
- DatabaseExecute
- DatabasePrepare
- DatabaseReset
- DatabaseBind
- DatabaseBindArray
- DatabaseRead
- DatabaseReadBind
- DatabaseFinalize
- DatabaseTransactionBegin
- DatabaseTransactionCommit
- DatabaseTransactionRollback
- DatabaseColumnsCount
- DatabaseColumnName
- DatabaseColumnType
- DatabaseColumnSize
- DatabaseColumnText
- DatabaseColumnInteger
- DatabaseColumnLong
- DatabaseColumnDouble
- DatabaseColumnBlob
DatabaseExport
Bir tablo veya SQL isteği yürütme sonucunu bir CSV dosyasına aktarır. Dosya UTF-8 kodlamasında oluşturulur.
long DatabaseExport(
|
Parametreler
database
[in] DatabaseOpen()'da elde edilen veritabanı tanıtıcı değeri
table_or_sql
[in] Sonuçları belirtilen dosyaya aktarılacak olan tablonun adı veya SQL isteğinin metni.
filename
[in] Veri dışa aktarımı için dosya adı. Yol, MQL5\Files klasörüne göre ayarlanır.
flags
DATABASE_EXPORT_HEADER – alan adlarına sahip bir dizge görüntüle
separator
[in] Veri ayırıcı. NULL belirtilirse, ayırıcı olarak '\t' tablolama karakteri kullanılır. Boş bir dizge "" geçerli bir ayırıcı olarak kabul edilir, ancak elde edilen CSV dosyası tablo olarak okunamaz - bir dizge kümesi olarak kabul edilir.
Geri dönüş değeri
Dışa aktarılan girdilerin sayısını veya bir hata durumunda negatif bir değer geri döndürür. Hata kodunu almak için GetLastError() kullanın, olası yanıtlar şunlardır:
- ERR_INTERNAL_ERROR (4001) – kritik çalışma zamanı hatası;
- 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_FUNCTION_NOT_ALLOWED(4014) – belirtilen veri yoluna izin verilmemektedir;
- ERR_PROGRAM_STOPPED(4022) – işlem iptal edildi (MQL programı durdu);
- ERR_WRONG_FILENAME (5002) - geçersiz dosya adı;
- ERR_TOO_LONG_FILENAME (5003) - dosyanın mutlak yolu maksimum uzunluğu aşıyor;
- ERR_CANNOT_OPEN_FILE(5004) – dosya yazmak için açılamıyor;
- ERR_FILE_WRITEERROR(5026) – dosyaya yazılamıyor;
- ERR_DATABASE_INTERNAL (5120) – dahili veritabanı hatası;
- ERR_DATABASE_INVALID_HANDLE (5121) - geçersiz veritabanı tanıtıcı değeri;
- ERR_DATABASE_QUERY_PREPARE(5125) – istek oluşturma hatası;
- ERR_DATABASE_QUERY_NOT_READONLY – salt okunur isteğe izin verilmektedir.
Not
Eğer istek sonuçları dışa aktarılırsa, SQL isteği "SELECT" veya "select" ile başlamalıdır. Başka bir deyişle, SQL isteği veritabanı durumunu değiştiremez, aksi takdirde DatabaseExport() bir hata ile başarısız olur.
Veritabanı dizge değerleri, dönüşüm karakterini ('\r' veya '\r\n') ve ek olarak separator parametresinde ayarlanan değer ayırıcı karakterini içerebilir. Bu durumda, 'flags' parametresinde DATABASE_EXPORT_QUOTED_STRINGS bayrağını kullandığınızdan emin olun. Bu bayrak varsa, görüntülenen tüm dizgeler çift tırnak içine alınır. Eğer dizge zaten çift tırnak içerisindeyse, bu çift tırnaklar ikişer adet haline gelir.
Kimlik |
Açıklama |
---|---|
DATABASE_EXPORT_HEADER |
İlk dizgede tablo alanlarının adlarını görüntüle |
DATABASE_EXPORT_INDEX |
Dizgelerin indekslerini görüntüle |
DATABASE_EXPORT_NO_BOM |
Dosyanın başına BOM işaretini ekleme (varsayılan olarak BOM işareti eklenir) |
DATABASE_EXPORT_CRLF |
Dizge sonları için CRLF'ler kullan (varsayılan olarak dizge sonları için LF'ler kullanılır) |
DATABASE_EXPORT_APPEND |
Verileri mevcut dosyanın sonuna ekle (varsayılan olarak dosyanın üzerine yazılır) |
DATABASE_EXPORT_QUOTED_STRINGS |
Dizge değerlerini çift tırnak içerisinde görüntüle |
DATABASE_EXPORT_COMMON_FOLDER |
csv dosyası, tüm müşteri terminallerinin ortak klasöründe (\Terminal\Common\File) oluşturulur |
Örnek:
input int InpRates=100;
|
Ayrıca bakınız