MQL5'te SQLite: yeni özellikler ve performans testi - sayfa 4

 
Pavel Kolchin :

insanların terminaller arasında veri alışverişi yapması gerekiyor, ya dosyalara benzeterek, birinin düzenleme için, diğerinin ise yalnızca okuma için bağlanmasını mümkün kılarsa? ve tüm bunlar süper hızlı bellek sayesinde

mql4'te mi olacak?

Memlib.mqh'yi kullanın.

 
Dmitiry Ananiev :

Memlib.mqh'yi kullanın.

ne olduğunu bulamadım

 
Sergey Dzyublik :

Ayrıca, bulmayı başardığımız aşağıdaki eksikliklere dikkat etmenizi rica ediyorum:

1) DatabaseExecute işlevinin açıklaması doğru değil, DatabasePrepare'den kopyalandı.

2) DatabaseRead işlevinin ilk parametresinin eksik açıklaması: int database , // DatabaseOpen'da alınan veritabanı tanıtıcısı;
DatabasePrepare daha eksiksiz bilgi sağladığından: c daha sonra DatabaseRead() ile yürütülebilecek bir istek tanıtıcısı oluşturur .

5) DatabaseColumnName işlev parametresinin açıklamasında bir yazım hatası ("alan adını almak için" olmalıdır)

string& name // tablo adını almak için değişken referansı

Teşekkürler, düzeltildi. Güncelleme, sitede Veritabanlarıyla çalışma bölümünde olacaktır.

Документация по MQL5: Работа с базами данных
Документация по MQL5: Работа с базами данных
  • www.mql5.com
Важной особенностью данного движка является то, что вся база данных находится в единственном стандартном файле, который находится на компьютере пользователя. Простота реализации достигается за счёт того, что перед началом исполнения транзакции записи файл, содержащий базу данных, блокируется. При этом...
 
SQL sorgusunun özel bir formatı vardır. Saf SQL değil. Her şey işlev çağrısının içinde ve satırlar arasında virgül olmadan mı yazılıyor? Veya bir dize dizisini başlatmak mümkün müdür? Örneklere ihtiyacımız var.
 
Rashid Umarov :

Teşekkürler, düzeltildi. Güncelleme, sitede Veritabanlarıyla çalışma bölümünde olacaktır.


Açıklamadaki DatabaseRead parametreleri doğru değil.

Bir SQL sorgusu için bir tanıtıcı kabul etmelidir.


Yerleşik işlevsellik için projemi içe aktarılan sqlite3 dll ile zaten yeniden yazdım - her şey yolunda.


PS Veritabanı.... işlevlerinde LastError sıfırlama işlevini kontrol edin.

 
Renat Fatkhullin :
Önümüzde böyle bir görev yok.

Senden önce - evet, buna değmez. Geliştiriciler uzun zamandır iş parçacığı için güvenli bir mesajlaşma mekanizmasına ihtiyaç duyuyorlardı. Bunun için temeller, doğrudan olmasa da, ek iş parçacığı güvenli sarmalayıcılar aracılığıyla iyi bir seçenek gibi görünüyor.

 
Vasiliy Sokolov :

Senden önce - evet, buna değmez. Geliştiriciler uzun zamandır iş parçacığı için güvenli bir mesajlaşma mekanizmasına ihtiyaç duyuyorlardı. Bunun için temeller, doğrudan olmasa da, ek iş parçacığı güvenli sarmalayıcılar aracılığıyla iyi bir seçenek gibi görünüyor.

 
Renat Fatkhullin :

Büyük olasılıkla, kaynaklara dahil edilmesine izin vereceğiz ve bu dosyalar program ilk başlatıldığında otomatik olarak diske ayıklanacak.

Yani ex5'in içinde taban şişmesi olmayacak. Dosya yalnızca disk üzerinde değiştirilebilir.

Ayrıca başka bir gerekli işlevi düşünmenizi rica ediyorum.
DATABASE_OPEN_MEMORY olarak açılan veritabanını diskteki bir dosyaya kaydedecek DatabaseSaveMemoryToFile fonksiyonuna ihtiyacımız var.
Yani, veri alışverişinin hızı için bellek kullanıyoruz ve gerekirse verileri diskteki bir dosyaya kaydediyoruz.
Market Watch'ta olduğu gibi veriler önce Market Watch'a girilir ve ardından geçmişe kaydedilir.

Ve dosyadan belleğe DatabaseExtractFileToMemory ters çıkarma işlevi
KDB+ böyle çalışır
 
Belki çok az kişi ResourceSave işleviyle bir kaynağı diske kaydederken renk dışı verilerin bozulduğunu biliyor. Bu işlev yalnızca görüntüleri kaydetmek için keskinleştirilir.

Bir DB'nin bir kaynağa dahil edilmesi ve bir diske kaydedilmesi sorununa.
 
Реter Konow :
Belki çok az kişi, ResourceSave işleviyle bir kaynağı diske kaydederken renk dışı verilerin bozulduğunu biliyor. Bu işlev yalnızca görüntüleri kaydetmek için keskinleştirilir.

Bir DB'nin bir kaynağa dahil edilmesi ve bir diske kaydedilmesi sorununa.

Veritabanı dosyasının kaynağa dahil edilmesi , büyük olasılıkla, yalnızca dosyanın ex5'ten diske ilk kez açılması için amaçlanacaktır.
Veritabanıyla daha fazla çalışma, doğrudan dosyayla gerçekleşir.