Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
MySQL malformed trail byte or out of range char
#1
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.
   

normalde böyle kullanıyordum sorun yoktu
   

sonra ismin yanına adetini de eklemek istedim, hala bir sorun yok
   

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ığı http://www.delphican.com/showthread.php?tid=3091 konu geldi bir an

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

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

https://www.w3schools.com/SQL/func_mysql_count.asp

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.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#3
(31-01-2019, Saat: 07:50)hi_selamlar Adlı Kullanıcıdan Alıntı: 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ü
WWW
Cevapla
#4
(31-01-2019, Saat: 09:08)yhackup Adlı Kullanıcıdan Alıntı:
(31-01-2019, Saat: 07:50)hi_selamlar Adlı Kullanıcıdan Alıntı: 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.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#5
haklısınız, ancak charset ile alakası ne olabilir.
WWW
Cevapla
#6
(31-01-2019, Saat: 09:42)yhackup Adlı Kullanıcıdan Alıntı: 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.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  MySQL - Sql-mode only_full_group_by hatası. hi_selamlar 5 1.806 25-12-2022, Saat: 10:43
Son Yorum: hi_selamlar
  MySQL Bağlantı Sorunu - MEB akıllı tahta Frrst 6 1.452 10-11-2022, Saat: 23:16
Son Yorum: mcuyan
  Mysql Farklı bir autoinc mcuyan 11 2.037 09-11-2022, Saat: 23:05
Son Yorum: mcuyan
  Delphi 7 MySql DAC Nasıl Kurulur mahone 1 635 08-10-2022, Saat: 22:09
Son Yorum: mcuyan
  mysql trigger subquery returns more than 1 row hatası cvheneburi 5 2.087 28-08-2022, Saat: 01:04
Son Yorum: cvheneburi



Konuyu Okuyanlar: 1 Ziyaretçi