MQL4, ORACL, MSSQL, MySQL'den bir veritabanına nasıl erişilir - sayfa 6

 

tüm bunlar işe yarar ve taban şişer! :)

İyi şanlar.

 
TheVilkas писал(а) >>

tüm bunlar işe yarar ve taban şişer! :)

İyi şanlar.

Telafi etmek!!!

Gerçek çalışma örneği.

teşekkürler

 

HURRAH! Benim üssüm de normalde libmysql.dll aracılığıyla kazanılır. Sonucun neden döndürüldüğü, hangi hiyerogliflerin önce geldiği ve ardından gerekli bilgilerin verildiği açık değildir. Yukarıdaki kodu değiştirdi.

Sorgu: "SELECT concat(';',concat_ws(';',date,title,impact)) FROM WHERE takvimi (tarih, ADDDATE( NOW( ), INTERVAL -4 DAY ) VE ADDDATE( NOW( ), INTERVAL +2 arasındaki tarih GÜN )) VE (para birimi='"+symb1+"' XOR para birimi='"+symb2+"') tarihe göre SİPARİŞ"

kod:

 for ( int i = 0 ; i < numOfRows ; i + + ) { 
      row = mysql_fetch_row ( result ) ; 
      //add_news(row); 
   
   int begin = StringFind ( row , DELIM ) + 1 ; 
   int end = StringFind ( row , DELIM , begin ) ;   
      ArrayResize ( News_Array , i + 1 ) ;
      News_Array [ i , 0 ] = StringSubstr ( row , begin , end - begin ) ;  // fills datetime data in compatible format
         begin = end + 1 ; 
         end = StringFind ( row , DELIM , begin ) ; 
      News_Array [ i , 1 ] = StringSubstr ( row , begin , end - begin ) ;   // fills description data
         begin = end + 1 ; 
         end = StringFind ( row , DELIM , begin ) ;       
      News_Array [ i , 2 ] = StringSubstr ( row , begin , end - begin ) ;  // fills rating data
      if ( StringSubstr ( row , begin , end - begin ) = = "High" ) Event_Rating_No = "3" ;
      if ( StringSubstr ( row , begin , end - begin ) = = "Medium" ) Event_Rating_No = "2" ;
      if ( StringSubstr ( row , begin , end - begin ) = = "Low" ) Event_Rating_No = "1" ;   
      
         begin = end + 1 ; 
         end = StringFind ( row , DELIM , begin ) ;      
      
      News_Array [ i , 3 ] = Event_Rating_No ;  // number equivalent for ratings
      News_Array [ i , 4 ] = "0" ;  // used for prevents repetition of alerts
                
        } 


Hepinize iyi şanslar!

 
GarF1eld >> :

BTRVODKAex

bu amaçlar için, c++\cli'de bir ara dll yazılır. Doğrudan yönetilen kodu mql'den arayamazsınız



Neden C# kullanmıyorsunuz? Ve MT4 için C++'da dll yazmayla ilgili literatürü nerede bulabilirim?

 
BTRVODKAex >> :

Neden C# kullanmıyorsunuz? Ve MT4 için C++'da dll yazmayla ilgili literatürü nerede bulabilirim?

Kendi soruma cevap veriyorum: "Marşaling, işlev çağrılarına müdahale ediyor" :)

C++ öğrenmeye gitti

 

Merhaba beyler, paralel bir başlıkta zaten bir soru sordum, ama belki tekrar edeceğim ...

MySQL, bir tablodaki maksimum sütun sayısını sınırlar, daha kesin olmak gerekirse, mümkün olan maksimum sütun sayısı 1000'dir, bu kısıtlamanın nasıl kaldırılabileceğini bilen var mı ve hiç mümkün mü? Değilse, hangi DB 3000'den fazla sütun içeren tablolar oluşturmanıza izin verir?

 
toxa.forex >> :

Merhaba beyler, paralel bir başlıkta zaten bir soru sordum, ama belki tekrar edeceğim ...

MySQL, bir tablodaki maksimum sütun sayısını sınırlar, daha kesin olmak gerekirse, mümkün olan maksimum sütun sayısı 1000'dir, bu kısıtlamanın nasıl kaldırılabileceğini bilen var mı ve hiç mümkün mü? Değilse, hangi DB 3000'den fazla sütun içeren tablolar oluşturmanıza izin verir?

kehanet

 
HIDDEN >> :

kehanet

GİZLİ, cevap için teşekkürler, ama hangi Oracle'ı kastettiğin konusunda biraz daha spesifik olabilir misin? Oracle 9i aynı sınırlamaya sahiptir, tablo başına maksimum 1000 sütun...

 
toxa.forex >> :

GİZLİ, cevap için teşekkürler, ama hangi Oracle'ı kastettiğin konusunda biraz daha spesifik olabilir misin? Oracle 9i aynı sınırlamaya sahiptir, tablo başına maksimum 1000 sütun...

Ve sonraki sürümler.

Oracle ile biraz çalıştım. Genel olarak, fikir kafamda böyle dönüyor, çünkü 3000 sütuna ihtiyacınız var, o zaman burada bir şey düşünmediniz .... bilgileri tablolara ayırın, sorguları optimize edin. o zaman tabandan herhangi bir şey oluşturabilirsiniz.

Neden bütün şişeyi bir yüksüğün içine döktüğünü anlamıyorum.


Amaçları ve hedefleri açıklayın, belki de bir veritabanına ihtiyacınız yoktur.

 
HIDDEN >> :

Ve sonraki sürümler.

Oracle ile biraz çalıştım. Genel olarak, fikir kafamda böyle dönüyor, çünkü 3000 sütuna ihtiyacınız var, o zaman burada bir şey düşünmediniz .... bilgileri tablolara ayırın, sorguları optimize edin. o zaman tabandan herhangi bir şey oluşturabilirsiniz.

Neden bütün şişeyi bir yüksüğün içine döktüğünü anlamıyorum.


Amaçları ve hedefleri açıklayın, belki de bir veritabanına ihtiyacınız yoktur.

Oracle'ın sonraki sürümlerini bilmiyordum, ancak sütun sayısındaki kısıtlamaların korunduğundan şüpheleniyorum ...

Evet, bilgileri tablolara bölmek kesinlikle mümkün, ancak bu, veritabanı çağrılarındaki artış nedeniyle isteklerin işlem süresini önemli ölçüde artıracağından, en az istenen çözümdür ... .

Ve bir sinir ağından bahsediyoruz, burada bir veritabanı kullanmak gerçekten gerekli değil, ama bence 3000'den fazla parametreyi saklamak için en iyi seçenek bu ...