with query1 do
begin
close;
sql.clear;
sql.add (INSERT INTO tabloadi (alan) VALUES (:alan));
ParamByName('alan').asstring:='ABCDEFG';
ExecSQL;
end;
şeklinde kullandığımda 'Data too long' hatası alıyorum.
Mantık olarak yettiği kadarını kaydedip kalanı dikkate almaması gerekli değilmi önceden olduğu gibi.
Mysql tam bilmemekle birlikte MSSQL de bu 2000 den bu yana olan birşey yani. ExecSQL ile yaptığımız zaman hata alıyoruz. Sanırım mysql yeni versiyonundada bunu böyle düşünmüşler.
Kolay gelsin.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Üstteki örnekte sanırım DataSet maksimum alan boyutunu alıyor. Sen fazla bir değer atasan da fazlasını keserek atama yapıyor. Diğerinde ise böyle bir kontrol olmadan taşan bir veriyi atmaya çalışıyorsun. Alan tipi VARCHAR sa burada da itiraz etmemesi lazım. Sabit uzunluksa normal.
Evet dataset üzerinden gittiğimde kendisi kısıyor, ancak asıl öğrenmek istediğim MySQL 4.0.18 de bu kontrol yokken 5.0 var, my.ini den yada başka bir yerden parametre alarak değiştirilebilen bir özelliklimidir acaba bu taşmalarda hata ver yada sığdığı kadarını kaydet onu merak ediyorum.
Recep abi Alan tipim VARCHAR , uzunluğu 5
Ben örnek olsun die yazmıştım 200 e yakın tablom var hepsinde aynı sorun var mysql 4 ten 5 e geçtim patladı her taraf
Abi dışarıdan bir editörler girerken oda maksimum girişe kadar izin veriyor fazla yazamıyorum editöre, ayrıca MyDAC componentlerini kullanıyorum, INSERT INTO ile kayıtta ne yaparsam yapayım patlıyor zaten bunun çözümü mysql server ın kendi üzerinde varsa vardır yani ayarlarında felan bizim erişimlerimizle ilgili bir konu değil anladığım kadarıyla
rsimsek yazdı:m$ mikisoft el atıysa iflah etmez artık
Yok onların el atmış olacağını ima etmemiştim. Sadece tasarım olarak aynı şekilde mantık kurulmuş olduğunu söyledim di. Bir karakter alana insert into ile alandan daha uzun bir bilgi eklenirken MSSQL'de de bu şekilde hata geliyor. Buna dayanarak böyle dedim.
Şaban Şahin AKMAN
_________________ Derin olan kuyu değil kısa olan iptir. - .
iyi çalışmalar;
buces bbs'ten Elico yazmış aynen iletiyorum:
SQL_MODE diye bir config parametresi geliyor 5.0'da. o mode degerinden
ayarlayabiliyorsun sql'lerin bu durumlarda hata verip vermemesini.
normalde mysql hata vermezdi 5 karakterlik alana 7 karakterlik string eklerken. hatasiz 5 karakterini ekleyip gecerdi. 5.0'da bu tur
seyler sql_mode parametresine baglandi, en kucuk hatalarda bile hata verip vermemesi ayarlanabiliyor.
SQL_MODE diye bir config parametresi geliyor 5.0'da. o mode degerinden
ayarlayabiliyorsun sql'lerin bu durumlarda hata verip vermemesini.
normalde mysql hata vermezdi 5 karakterlik alana 7 karakterlik string eklerken. hatasiz 5 karakterini ekleyip gecerdi. 5.0'da bu tur
seyler sql_mode parametresine baglandi, en kucuk hatalarda bile hata verip vermemesi ayarlanabiliyor.
Çok teşekkürler SQL_MODE parametresinin alacağı değerleri araştırayım ozaman sonucu buraya yazayım.
Kolay gelsin.