PDA

View Full Version : سوال: اشکال در طول رشته برای ثبت



mohsen_s3mk
جمعه 29 آذر 1387, 14:30 عصر
سلام دوستان
من وقتی می خوام یک رشته را با طول زیاد با دستور AdoQuery1.add() اضافه کنم با خطای زیر مواجه می شوم .
String or Binary data would be truncated
لطفا راهنمایی کنید؟

mafazel
جمعه 29 آذر 1387, 15:23 عصر
سلام دوست عزیز
طول دیتایی که میخواهید در فیلد بریزید بزرگتر از طول فیلد هست.
یا در طراحی جدول طول رشته رو بزرگتر بگیرید یا دیتا رو کوچکتر بگیرید.
یا نوع فیلد رو از رشته به memo یا مشابه اون تغییر بدید.

mohsen_s3mk
جمعه 29 آذر 1387, 16:02 عصر
mafazel عزیز من دارم یک دستور insert را اجرا می کنم و طول داده های sql من مشکلی ندارد
ولی در دلفی وقتی در اجرای برنامه طول مقدار وارد شده در textbox به طول دستور insert اضافه می شود خطا می دهد.
طول رشته من حداکثر به 300 کاراکتر می رسد و این خطا را من در C# ندارم ولی متاسفانه مجبورم با دلفی بنویسم

mafazel
شنبه 30 آذر 1387, 07:53 صبح
متاسفانه مجبورم با دلفی بنویسم
سلام دوست عزیز اولا دفعه آخرتون باشه که توی تالار دلفی این عبارت رو بکار می برید :عصبانی: ((:قهقهه:))
ثانیا میدونم که Insert می کنید و طول دیتاها در جدول مشکل ندارند. مشکل اینجاست که طول رشته ای که در Edit یا Memo (اینجا TextBox نداریم) دارید بزرگتر از طول تعریف شده برای فیلد هست.گفتید طول دیتای شما 300 حرف است، طول فیلدی که این دیتا رو به اون میدید چقدر هست؟
به احتمال خیلی زیاد مشکل همونه که قبلا گفتم. اگر باز هم مشکل دارید بیشتر توضیح بدید که از چه بانکی استفاده می کنید، از چه نوع فیلدی با چه طولی استفاده می کنید و با دستوری مثل

ShowMessage(IntToStr(Length(Edit1.Text))); قبل از درج در جدول طول دیتا رو چک کنید. اگر این خطا رو در C ندارید یا دقیقا این حالت اتفاق نیفتاده یا C اتوماتیک زیادی دیتا رو می اندازه (دیتا رو Truncate میکنه)

merced
یک شنبه 01 دی 1387, 10:07 صبح
ADOQuery1.SQL.Add(const S:String)

پارامتر S از نوع String است و در باسكال حداكثر مقدار آن 255 كاراكتر است.
دستور SQL‌ خودت رو تيكه تيكه (هر تيكه كمتر از 255 كاراكتر) با همون دستور وارد كن .