Bir tablo oluşturmuşunuz ve Name isimli string alanını tutmak için VarChar(20) tipinde bir kolon eklediğinizi varsayalım.Veritabanına insert işlemi yaparken kullanıcının,sizin belirtiğiniz Size(20) değerinden fazla karakterli bir giriş yapmasına izin verdiğinizi varsayalım.Bu durumda 'String or binary data would be truncated. The statement has been terminated.' hatasıyla karşılaşırsınız.Kurallarınızı gözden geçirmenizde fayda var.Örneğin ilgili alana 20 karakterden fazla giriş yapılmamasını sağlayabilir veya ilgili alanın daha uzun karakterleri tutabilmesini sağlamak için ilgili tablodan ilgili kolonun Size ını artırabilirsiniz.
DevExpress XAF kullanıyorsanız,sınıfınızda örneğin String alanını oluşturup programı derlemeye geçtiğinizde tablolar çoktan oluşacağından dolayı ilgili kolonun boyutunu düzenlemek için sil-tekrar yükle işlemi veya tabloyu silip projemizi yeniden derleme yoluna gidebiliriz.(2.adım eğer tablo boş ise daha rahattır.) Yeniden oluşturma işleminden önce tabi ki gerekli ayarlamaları alanımız için yapmayı unutmayalım.
[Size(50)]
public string MyProperty
{
get { return _myProperty; }
set { SetPropertyValue("MyProperty", ref _myProperty, value); }
}
[Size(SizeAttribute.Unlimited)]
public string MyProperty
{
get { return _myProperty; }
set { SetPropertyValue("MyProperty", ref _myProperty, value); }
}
[DbType("nvarchar(max)")]
public string MyProperty
{
get { return _myProperty; }
set { SetPropertyValue("MyProperty", ref _myProperty, value); }
}
public string MyProperty
{
get { return _myProperty; }
set { SetPropertyValue("MyProperty", ref _myProperty, value); }
}
[Size(SizeAttribute.Unlimited)]
public string MyProperty
{
get { return _myProperty; }
set { SetPropertyValue("MyProperty", ref _myProperty, value); }
}
[DbType("nvarchar(max)")]
public string MyProperty
{
get { return _myProperty; }
set { SetPropertyValue("MyProperty", ref _myProperty, value); }
}
Hiç yorum yok:
Yorum Gönder