Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
MQL4'te mysql_fetch_row işlevinin sonucu nasıl okunur?
Şu anda MySQL veritabanı okuma, ekleme, silme ve değiştirme ile çalışmak için bir komut dosyası geliştiriyorum.
Komut dosyası hacimlidir, ancak veritabanıyla çalışmanın özü, bence tek bir işlevden netleşecektir.
Doğru, bu örnekte, kayıt kimliği tablodan döndürülür, ancak yeniden yapmak sorun olmaz, veritabanından metin ve sayıları döndürdüğümü hatırlıyorum, her şey çalıştı.
biraz araştırma yaptım
iki alanlı bir tablo oluşturdu
INT kimliği; METİN kullanıcı
tabloda iki satır var
kimlik kullanıcısı
1 aaa
2bb
1. "Tablodan kimliği SEÇ" sorgulanırken, fetch_row işlevi (adres)(adres) 1 (adres)(adres) 2 değerini döndürür.
2. "Tablodan kullanıcı SEÇ" sorgulandığında, fetch_row işlevi (adres)(adres) aaa (adres)(adres) bbb döndürür
genel olarak, bununla çalışabilirsiniz, dönüşün dizgeye gitmesi üzücü
3. İki alan "SELECT id, user FROM tablosu" talep ederseniz, fonksiyon (adres)(adres)(adres) 1 (adres)(adres)(adres) 2 değerini döndürür.
4. "SEÇ kullanıcı, kimlik FROM tablosu" alanlarını değiştirirseniz, işlev (adres)(adres)(adres) aaa (adres)(adres)(adres) bbb döndürür
satırdan yalnızca bir ilk alanın açıkça görülebildiği ve 4 baytlık başka bir adresin eklendiği ortaya çıktı.
biraz araştırma yaptım
iki alanlı bir tablo oluşturdu
INT kimliği; METİN kullanıcı
tabloda iki satır var
kimlik kullanıcısı
1 aaa
2bb
1. "Tablodan kimliği SEÇ" sorgulanırken, fetch_row işlevi (adres)(adres) 1 (adres)(adres) 2 değerini döndürür.
2. "Tablodan kullanıcı SEÇ" sorgulandığında, fetch_row işlevi (adres)(adres) aaa (adres)(adres) bbb döndürür
genel olarak, bununla çalışabilirsiniz, dönüşün dizgeye gitmesi üzücü
3. İki alan "SELECT id, user FROM tablosu" talep ederseniz, fonksiyon (adres)(adres)(adres) 1 (adres)(adres)(adres) 2 değerini döndürür.
4. "SEÇ kullanıcı, kimlik FROM tablosu" alanlarını değiştirirseniz, işlev (adres)(adres)(adres) aaa (adres)(adres)(adres) bbb döndürür
satırdan yalnızca bir ilk alanın açıkça görülebildiği ve 4 baytlık başka bir adresin eklendiği ortaya çıktı.
O zaman programa nasıl alınır?
Temelde kayan nokta sayıları yazıp okuyacağım.
Şu anda MySQL veritabanı okuma, ekleme, silme ve değiştirme ile çalışmak için bir komut dosyası geliştiriyorum.
Komut dosyası hacimlidir, ancak veritabanıyla çalışmanın özü, bence tek bir işlevden netleşecektir.
Doğru, bu örnekte, kayıt kimliği tablodan döndürülür, ancak yeniden yapmak sorun olmaz, veritabanından metin ve sayıları döndürdüğümü hatırlıyorum, her şey çalıştı.
Bu ilginç bir örnek, ancak sayısal verilerin nasıl okunacağını göstermiyor.
Temel olarak, yalnızca iki eylem için üç sütunlu bir tablo içeren bir taban kullanmak istiyorum:
1) İlk iki sütunu okuyun (dizin ve ilk sayısal sütun)
Ardından MQ4 programı içindeki sayısal sütundan en uygun sayıyı seçerek
2) İkinci sütundaki sayıyı bu sayının dizinine göre okuyun.
Bunun için hangi işlevleri kullanmalıyım? Ve belirtilen DLL'de düzgün çalışıyorlar mı?
Bu ilginç bir örnek, ancak sayısal verilerin nasıl okunacağını göstermiyor.
Neyin ve nasıl döndürüldüğünü görmek için en az bir satır kod yazdınız mı?
HIDDEN, bir veritabanından tek bir alanı okumak için zaten eksiksiz bir çözüm sağlamıştır. çalıştırdın mı?
Kodu bir önceki gönderide verilen MKL5 için bir ansi'den unicode'a dönüştürücü yazmaya yardımcı olabilirseniz. Size MKL4 için çalışan bir kod göndereceğim, MKL5 için bir sınıf yazarken de yardımcı olacaktır.
MQL5, unicode'u dönüştürmek için işlevlere sahiptir. /ru/docs/convert/chararraytostring ve /ru/docs/convert/stringtochararray'e bakın
İşlev içe aktarmalarında, dizeleri değil, uchar türünde dizileri bildirin
İşlev içe aktarmalarında, dizeleri değil, uchar türünde dizileri bildirin
sorun ne yazık ki bu dizelerin & parametrelerinden birinde değil , işlevin sonucu olarak döndürülmesidir.
mysql_fetch_row , bir dizi satıra bir işaretçi döndürür - char**
--------
belki biri biliyordur - çekirdekten char ** dizisinden char* dizesi üretebilen düşük seviyeli işlevler var mı?
(strcpy, strcat gibi...)
ve benzer şekilde bir int* dizisinden - belirli öğesini elde etmek için bir tür işlev mi?
işlevin kendisi doğrudan bu işlem için tasarlanmasa bile :)
Tam kod uygulaması....
SQL dökümü veritabanı
çalışmanın sonucu