Delphi Can

Orjinalini görmek için tıklayınız: MySQL malformed trail byte or out of range char
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Biraz önce denk geldiğim ilk defa gördüğüm bir hata sanırım bir bug var veya benim yanlış bir kullanımım, çözümünü bulunca paylaşmak istedim.

aşağıdaki yapıda bir tablom var.
[attachment=438]

normalde böyle kullanıyordum sorun yoktu
[attachment=439]

sonra ismin yanına adetini de eklemek istedim, hala bir sorun yok
[attachment=440]

Ancak mydac ile delphiden bo sorguyu çalıştırdığımda bu şekilde bir hata aldım , charset ile ilgili bir durum olduğunu okudum bir kaç yerden tabloyu latin5 > utf8 çevirince düzeldi.
malformed trail byte or out of range char

Sizce neden olabilir , aklıma @Tuğrul HELVACI abinin yazdığı Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. konu geldi bir an

Concat() içerisinde Int değerinde bir değer koyunca çözümleyemiyor mu dersiniz.
Merhabalar,

Öncelikle merak ettiğim için
Count 
fonksiyonunu
Count(*)  veya Count(id) vs. şeklinde neden kullanmadınız.

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

Doğru kullanımı bu şekilde olması gerekli.
Diğer bir konu count alıyorsunuz SQL içerisinde
Group by 
ifasesi göremedim. Neye göre gruplayıp sonuç alacaksınız.

Aynı örneği kendim denedim; ne Yardımcı SQL uygulamasında ne de Delphi tarafında bir hata almadım.
Yazmış olduğum SQL cümlesi.

select id, concat(cari_kodu,' - (', count(*),')') as pname from cari_kart

group by cari_kodu

nQlVVg.png

Kolay gelsin.
(31-01-2019, Saat: 07:50)hi_selamlar Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Count(*)  veya Count(id) vs. şeklinde neden kullanmadınız.

Count fonksiyon değil tabloda bulunan Integer bir field, sonuç almada bir problem yok sonuç alıyorum editörde, ama delphi tarafında bu hata dönmüştü
(31-01-2019, Saat: 09:08)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(31-01-2019, Saat: 07:50)hi_selamlar Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Count(*)  veya Count(id) vs. şeklinde neden kullanmadınız.

Count fonksiyon değil tabloda bulunan Integer bir field, sonuç almada bir problem yok sonuç alıyorum editörde, ama delphi tarafında bu hata dönmüştü

Merhabalar,

Field isimlerinde SQL DB tarafından kullanılan Count fonksiyon ismini kullanmak doğru değil.

Sorgu yazarken bunu ayrıştırmak sıkıntı olabilir. Field isimlerini ona göre yeniden isimlendirip denerseniz
umarım ki sorun çözülmüş olacaktır.

Kolay gelsin.
haklısınız, ancak charset ile alakası ne olabilir.
(31-01-2019, Saat: 09:42)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.haklısınız, ancak charset ile alakası ne olabilir.

Merhabalar,

Sadece tahminimi iletiyorum.

Count MySQL için bir fonksiyon. Aynı isimde bir alana sahip olduğunuz için bir hata oluşuyor.
Bu hata dönüş esnasında MySQL tip dönüşüm hatası olarak algılıyor olabilir.

Alan isimleri asla fonksyion isimleri ile aynı kullanılmamalı.

Kolay gelsin.