Malformed String

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Malformed String

Mesaj gönderen pasa_yasar »

Mrb.
ilk defa firebird kullanarak uygulama geliştiriyorum. Kayıt girdiğim zaman

Dynamic SQL Error
SQL error code = -303
Malformed String hatasını veriyor.

Bu hata girdiğim databasede eklediğim "UniQuery4.Params.ParamByName('sonucislendi').AsString" alan kaydı 'Hayır' . Türkçe karakterden kaynaklanıyor. 'Hayır' yerine 'Hayir' yaptığımda kayıt tamamlanıyor. İnternette baktım ama sorunu çözemedim. Tablodaki tüm alanları UTF8 ve UNICODE_CI_AI yaptım yine olmadı. Bağlantı sırasında Charset = UTF8 yaptım

ve işin ilginci "UniQuery4.Params.ParamByName('sonuc').AsString" karşılığı olan 'Tamamlandı' türkçe olmasına rağmen hata vermiyor. sadece 'Hayır' karşılığı için hata veriyor.

Kod: Tümünü seç

      UniQuery4.Params.ParamByName('sonuc').AsString:='Tamamlandı';
      UniQuery4.Params.ParamByName('sonucislendi').AsString:='Hayır';
      UniQuery4.Params.ParamByName('islemturu').AsString:='Insert';
Embedded Firbird Kullanıyorum
Sürüm : Firebird-2.5.4.26856-Win32
Delphi 2007
Bağlantı Nesnesi = Devart Unidac 6
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Re: Malformed String

Mesaj gönderen pasa_yasar »

Sorunu çözdüm. Alan türü ve boyutu VarChar (5) di . Alan boyutunu 20 yapınca düzeldi.
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Re: Malformed String

Mesaj gönderen pasa_yasar »

Embedded database işlemleri sırasında bu kayıtları unicode olarak kaydedemiyormuyuz. Alanları utf8 yaptım kayıt sırasında hata verdi. Böyle her kayıt uzunluğu çok artacak bunun kolay bi yolu yokmu acaba
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2356
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Malformed String

Mesaj gönderen freeman35 »

db yi ve fieldları win_1254 ile create et. TUniConnection.Charset := 'UTF8' verip bir dene.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Re: Malformed String

Mesaj gönderen pasa_yasar »

tabloyu yeniden oluşturdum sorun çözüldü. Teşekkür ediyorum
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: Malformed String

Mesaj gönderen greenegitim »

Bu sorun yeni oluşturduğum bir db de bugün başıma tabloda alanları charset ve collate UTF8 yapmıştım türkçe karakterler girdiğimde bu hatayı alıyordum.
Çözüm olarak uniconection nesnesinin charseti UTF8 ve useunicode:=true yaptım dataseteki fieldları kaldırıp yeniden eklediğimde düzeldi.
Mücadele güzelleştirir!
Cevapla