Bu yeni yaklaşım için teşekkürler! Farklı çözümler denedim ancak şu ana kadar en iyisi bu gibi görünüyor. Kütüphanenize mysql_num_fields kullanarak bir SELECT sorgusu için alan sayısını döndürdüğüm küçük bir ekleme yaptım, böylece MQL tarafında kaç alanı işlemem ve döndürmem gerektiğini biliyorum. Bunu bir araya getirdiğiniz için tekrar çok teşekkürler, gerçekten yardımcı oldu!!!
MQL Kodu:
int fields = MySqlNumFields(cursor);
for (int j=0; j<fields;j++)
{
data[j] = MySqlGetFieldAsString(cursor, j);
}
Bu yeni yaklaşım için teşekkürler! Farklı çözümler denedim ancak şu ana kadar en iyisi bu gibi görünüyor. Kütüphanenize mysql_num_fields kullanarak bir SELECT sorgusu için alan sayısını döndürdüğüm küçük bir ekleme yaptım, böylece MQL tarafında kaç alanı işlemem ve döndürmem gerektiğini biliyorum. Bunu bir araya getirdiğiniz için tekrar çok teşekkürler, gerçekten yardımcı oldu!!!
Nazik sözleriniz için teşekkürler. Bu temel bir çözüm ve gerçekte kullandığım genel işlevselliği koruyor.
Bu çözümü geliştirirken sonraki kuralları kullandım: sağlamlık, çalışması kolay, kullanımı basit ve minimum destek.
Elbette, bu projeyi değiştirebilir ve proje ihtiyaçlarınızla ilgili herhangi bir ek fonksiyon ekleyebilirsiniz.
PropertyExpected TypeDescription Properties from Person The Global Location Number (GLN, sometimes also referred to as International Location Number or ILN) of the respective organization, person, or place. The GLN is a 13-digit number used to identify parties and physical locations. A count of a specific user interactions...
Bu çözümü beğendiyseniz ve gerçek projeler için deniyorsanız (sadece eğlence için değil) bir güncellemem var.
MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL gibi farklı veritabanları ile çalışma hakkında yeni bir makale yazmaya başlıyorum.
Karar bunun gibi sağlam ve kullanımı kolay olacaktı, ancak bunu tamamlamak için zamanım yok.
Eğer bu projeyi desteklemek istiyorsanız paypal üzerinden bana birkaç dolar gönderebilir misiniz: e.a.lugovoy@gmail.com
Meblağın miktarı önemli değil, sadece böyle bir kararın gerçekten tamamlanması gerekip gerekmediğini bilmek istiyorum.
Hepinize teşekkür ederim,
Eugene
bazen, dizi gereklidir - örneğin , verileri belirli bir tarihle eşleştirmemiz gerekir (kene) - bunu MYSQL'den ziyade dizide yapmak için uygun olan algoritma ile ilgili olabilir。 bana yardım edebilir misiniz efendim? çok teşekkürler ~!
Neden 'MySqlGetFieldAsDouble(Cursor, 3);' değerini veri[i]ye yazamadığını bilmek istiyorum?
Print("veri[i]",veri[3]);--her zaman 0.0 displa. sorun nedir? teşekkür ederim efendim!
for (i=0; i<Satırlar; i++)
if (MySqlCursorFetchRow(Cursor))
{
double veri[] ;
ArrayResize(data,Rows);
data[i]= MySqlGetFieldAsDouble(Cursor, 3);
Print("veri[i]",veri[3]); }
Döngüde her seferinde dizi tanımlamaya ve boş dizi öğesi yazdırmaya çalışıyorsunuz.
Bunu deneyin:
// Sanırım Rows bu geçici çözümden önce zaten satır sayısını alıyor.double data[];
ArrayResize(data, Rows);
for (i=0; i<Rows; i++)
{
if (MySqlCursorFetchRow(Cursor))
{
data[i]= MySqlGetFieldAsDouble(Cursor, 3);
}
}
// burada "data" dizisini dolduracaksınızPrint("data[",3,"]",data[3]);
Bu nedenle, döngüyü getirmeden önce diziyi bir kez tanımlamanız, ardından yeniden boyutlandırmanız ve ardından verileri almak için rutin yazmanız gerekir.
Bu arada, MySqlGetFieldAsDouble(Cursor ,3); içindeki 3 sayısı SELECT listesindeki 4. sütun anlamına gelir, çünkü numaralandırma 0 ile başlar, yani SELECT Open, High, Low, Close FROM ... 0 - Open, 1 - High, 2 - Low ve 3 - Close anlamına gelir.
Döngüde her seferinde dizi tanımlamaya ve boş dizi öğesi yazdırmaya çalışıyorsunuz.
Bunu deneyin:
Bu nedenle, döngüyü getirmeden önce diziyi bir kez tanımlamanız, ardından yeniden boyutlandırmanız ve ardından verileri almak için rutin yazmanız gerekir.
Bu arada, MySqlGetFieldAsDouble(Cursor ,3); içindeki 3 sayısı SELECT listesindeki 4. sütun anlamına gelir, çünkü numaralandırma 0 ile başlar, yani SELECT Open, High, Low, Close FROM ... 0 - Open, 1 - High, 2 - Low ve 3 - Close anlamına gelir.
Umarım bu yardımcı olur.
Saygılar,
Eugene
yardımınıziçin teşekkürler efendim,Dizi ile ilgili sorunlarımı çözdüm。Mysql-mql konusunda gerçekten iyi bir iş çıkardınız~!
Örneklerinizi MT5 altında kullanmaya çalışıyorum ancak bu hatayı alıyorum:
2014.12.15 15:44:16.387 MySQL-001'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' 64 bit sürüm değil
Örneklerinizi MT5 altında kullanmaya çalışıyorum ancak bu hatayı alıyorum:
2014.12.15 15:44:16.387 MySQL-001'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' 64 bit sürüm değil
MT5'i 32-bit env altında mı çalıştırıyorsunuz?
Lütfen bana bu konuda yardımcı olur musunuz?
Çok teşekkür ederim!
Carmine Marrone.
Merhaba Carmine
Yukarıdaki tartışmada x64 için proje ekledim, bu yazıdan bir göz atın ve / veya indirin.
Bu yeni yaklaşım için teşekkürler! Farklı çözümler denedim ancak şu ana kadar en iyisi bu gibi görünüyor. Kütüphanenize mysql_num_fields kullanarak bir SELECT sorgusu için alan sayısını döndürdüğüm küçük bir ekleme yaptım, böylece MQL tarafında kaç alanı işlemem ve döndürmem gerektiğini biliyorum. Bunu bir araya getirdiğiniz için tekrar çok teşekkürler, gerçekten yardımcı oldu!!!
MQL Kodu:
Bu yeni yaklaşım için teşekkürler! Farklı çözümler denedim ancak şu ana kadar en iyisi bu gibi görünüyor. Kütüphanenize mysql_num_fields kullanarak bir SELECT sorgusu için alan sayısını döndürdüğüm küçük bir ekleme yaptım, böylece MQL tarafında kaç alanı işlemem ve döndürmem gerektiğini biliyorum. Bunu bir araya getirdiğiniz için tekrar çok teşekkürler, gerçekten yardımcı oldu!!!
Nazik sözleriniz için teşekkürler. Bu temel bir çözüm ve gerçekte kullandığım genel işlevselliği koruyor.
Bu çözümü geliştirirken sonraki kuralları kullandım: sağlamlık, çalışması kolay, kullanımı basit ve minimum destek.
Elbette, bu projeyi değiştirebilir ve proje ihtiyaçlarınızla ilgili herhangi bir ek fonksiyon ekleyebilirsiniz.
İyi şanslar,
Eugene
Merhaba arkadaşlar,
Bu çözümü beğendiyseniz ve gerçek projeler için deniyorsanız (sadece eğlence için değil) bir güncellemem var.
MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL gibi farklı veritabanları ile çalışma hakkında yeni bir makale yazmaya başlıyorum.
Karar bunun gibi sağlam ve kullanımı kolay olacaktı, ancak bunu tamamlamak için zamanım yok.
Eğer bu projeyi desteklemek istiyorsanız paypal üzerinden bana birkaç dolar gönderebilir misiniz: e.a.lugovoy@gmail.com
Meblağın miktarı önemli değil, sadece böyle bir kararın gerçekten tamamlanması gerekip gerekmediğini bilmek istiyorum.
Hepinize teşekkür ederim,
Eugene
merhaba,EugeniyLugovoy~
Neden ' MySqlGetFieldAsDouble(Cursor, 3);' değerini veri[i]yeyazamadığını bilmekistiyorum?
Print("veri[i]",veri[3]);--her zaman 0.0 displa. sorun nedir? teşekkür ederim efendim!
for (i=0; i<Satırlar; i++)
if (MySqlCursorFetchRow(Cursor))
{
double veri[] ;
ArrayResize(data,Rows);
data[i]= MySqlGetFieldAsDouble(Cursor, 3);
Print("veri[i]",veri[3]);
}
Merhaba arkadaşlar,
Bu çözümü beğendiyseniz ve gerçek projeler için deniyorsanız (sadece eğlence için değil) bir güncellemem var.
MS SQL Server, MS Access, Oracle, IBM DB/2, PostgreSQL gibi farklı veritabanları ile çalışma hakkında yeni bir makale yazmaya başlıyorum.
Karar bunun gibi sağlam ve kullanımı kolay olacaktı, ancak bunu tamamlamak için zamanım yok.
Eğer bu projeyi desteklemek istiyorsanız paypal üzerinden bana birkaç dolar gönderebilir misiniz: e.a.lugovoy@gmail.com
Meblağın miktarı önemli değil, sadece böyle bir kararın gerçekten tamamlanması gerekip gerekmediğini bilmek istiyorum.
Hepinize teşekkür ederim,
Eugene
merhaba,EugeniyLugovoy~
Neden 'MySqlGetFieldAsDouble(Cursor, 3);' değerini veri[i]ye yazamadığını bilmek istiyorum?
Print("veri[i]",veri[3]);--her zaman 0.0 displa. sorun nedir? teşekkür ederim efendim!
for (i=0; i<Satırlar; i++)
if (MySqlCursorFetchRow(Cursor))
{
double veri[] ;
ArrayResize(data,Rows);
data[i]= MySqlGetFieldAsDouble(Cursor, 3);
Print("veri[i]",veri[3]);
}
Döngüde her seferinde dizi tanımlamaya ve boş dizi öğesi yazdırmaya çalışıyorsunuz.
Bunu deneyin:
Bu nedenle, döngüyü getirmeden önce diziyi bir kez tanımlamanız, ardından yeniden boyutlandırmanız ve ardından verileri almak için rutin yazmanız gerekir.
Bu arada, MySqlGetFieldAsDouble(Cursor ,3); içindeki 3 sayısı SELECT listesindeki 4. sütun anlamına gelir, çünkü numaralandırma 0 ile başlar, yani SELECT Open, High, Low, Close FROM ... 0 - Open, 1 - High, 2 - Low ve 3 - Close anlamına gelir.
Umarım bu yardımcı olur.
Saygılar,
Eugene
Döngüde her seferinde dizi tanımlamaya ve boş dizi öğesi yazdırmaya çalışıyorsunuz.
Bunu deneyin:
Bu nedenle, döngüyü getirmeden önce diziyi bir kez tanımlamanız, ardından yeniden boyutlandırmanız ve ardından verileri almak için rutin yazmanız gerekir.
Bu arada, MySqlGetFieldAsDouble(Cursor ,3); içindeki 3 sayısı SELECT listesindeki 4. sütun anlamına gelir, çünkü numaralandırma 0 ile başlar, yani SELECT Open, High, Low, Close FROM ... 0 - Open, 1 - High, 2 - Low ve 3 - Close anlamına gelir.
Umarım bu yardımcı olur.
Saygılar,
Eugene
yardımınız için teşekkürler efendim,Dizi ile ilgili sorunlarımı çözdüm。Mysql-mql konusunda gerçekten iyi bir iş çıkardınız~!
Merhaba elugovoy
Harika makale ve harika kütüphaneler.
Örneklerinizi MT5 altında kullanmaya çalışıyorum ancak bu hatayı alıyorum:
2014.12.15 15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' 64 bit sürüm değil
MT5'i 32 bit env altında mı çalıştırıyorsunuz?
Lütfen bana bu konuda yardımcı olur musunuz?
Çok teşekkür ederim!
Carmine Marrone
Merhaba elugovoy
Harika makale ve harika kütüphaneler.
Örneklerinizi MT5 altında kullanmaya çalışıyorum ancak bu hatayı alıyorum:
2014.12.15 15:44:16.387 MySQL-001 'C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' 64 bit sürüm değil
MT5'i 32-bit env altında mı çalıştırıyorsunuz?
Lütfen bana bu konuda yardımcı olur musunuz?
Çok teşekkür ederim!
Carmine Marrone.
Merhaba Carmine
Yukarıdaki tartışmada x64 için proje ekledim, bu yazıdan bir göz atın ve / veya indirin.
Umarım bu yardımcı olur.
Saygılar,
Eugene