PDA

View Full Version : خطا به هنگام ذخيره متن در sql



maryam_loyalty
دوشنبه 14 دی 1394, 09:15 صبح
با سلام
. من در برنامه داده اي از نوع ntext را پر ميكنم و داده طولاني در آن مي گذارم. موقع ذخيره كردن به من پيغام زير را مي دهد.
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
دليل آن چيست؟
كلا براي ذخيره داده طولاني در sql از چه نوعي بايد استفاده كرد؟

AmiN0012
چهارشنبه 16 دی 1394, 14:32 عصر
سلام دوست من.

احتمالا موقع ساخت جدول ستون كليد تون ID به صورت اتوماتيك ID ايجاد نميكنه شما بايد هنگام ساخت جدول در بخش Identity Specification رو Yes كنيد
يا شايد كليد تون به صورت nvarchar تعريف شده و ....
بهترين راه براي پاسخ دادن مشاهده كد شما و ستون هاي جدول بانكتونه ...
برای داده های طولانی میتونی بگی nvarchar(500)

توضیحات بیشتر:
This problem is usually caused by one of the following

null values being returned for columns not set to AllowDBNull
duplicate rows being returned with the same primary key.
a mismatch in column definition (e.g. size of char fields) between the database and the dataset
Try running your query natively and look at the results, if the resultset is not too large. If you've eliminated null values, then my guess is that the primary key columns is being duplicated.

حمیدرضاصادقیان
پنج شنبه 17 دی 1394, 13:58 عصر
با سلام
مشکل شما برای این هست که جدول شما دارای یک فیلد Unique یا Foreign key به جداول دیگه داره که مقدارش درست پر نمیشه.
باید به Design Table برید و ببینید چه ساختاری رو برای فیلدها در نظر گرفتید.
برای ذخیره داده های طولانی هم از varbinary یا nvarchar استفاده میکنند و این دیتاتایپ ntext دیگه استفاده نمیشه و در نسخه های بعدی کلا توسعه داده نمیشه.

maryam_loyalty
یک شنبه 20 دی 1394, 12:58 عصر
سلام
خيلي ممنون از راهنماييهاتون. مشكلم حل شد.