PDA

View Full Version : سوال: از کار افتادن دستور ذخیره که همیشه کار میکرد و دستکاری نشده اطلاعاتش یک باره از کار افتاده



davidrobert
دوشنبه 14 آبان 1397, 11:56 صبح
سلام و خسته نباشید بنده همیشه از این دستور برای ذخیره استفاده میکردم برای تصاویر ولی نه میدانم برای تصاویر و یا نه برای چی هستش این خطا میده.
{"String or binary data would be truncated.\r\nThe statement has been terminated."}
دیروز پیش مشتری ام کار کرد ولی بر حسب مانیتور برنامه ام ظاهرش عوض شد امدم خانه تست اصلاحی بگیرم یه دفعه دیدم به من داره خطا میده.
دستورات ذخیره.

MemoryStream ms = new MemoryStream();
try
{
PicLogo.Image.Save(ms, ImageFormat.Png);
}
catch
{
}
byte[] PicLogos = ms.GetBuffer();
ms.Close();
MemoryStream MsSign = new MemoryStream();
try
{
PicSign.Image.Save(MsSign, ImageFormat.Png);
}
catch
{
}
byte[] PicSigns = MsSign.GetBuffer();
MsSign.Close();
tomp.Insert(Txt_Name_Shobeh.Text,Convert.ToInt32(C mbSex.SelectedValue.ToString()),
TxtSemet.Text, Txt_Name_Aramga.Text,
Txt_Admin.Text, Txt_Tel.Text, Txt_Fax.Text, Txt_Emial.Text,
Txt_Web.Text, Txt_Address.Text, Txt_Sms_Address.Text,
Txt_Zip_Code.Text, PicLogos, PicSigns);

دستورات در لایه اصلی برای ذخیره

connection.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = connection;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Clear();
cmd.CommandText = ProcedureName;
cmd.Parameters.AddWithValue(at + P_Aramga.A_Sh_Shobe, A_Sh_Shobe.Trim());
cmd.Parameters.AddWithValue(at + P_Aramga.A_Sex, A_Sex.ToString().Trim());
cmd.Parameters.AddWithValue(at + P_Aramga.A_Semet, A_Semet.Trim());
cmd.Parameters.AddWithValue(at + P_Aramga.A_Name_Aramga, A_Name_Aramga.Trim());
cmd.Parameters.AddWithValue(at + P_Aramga.A_Name_Admin, A_Name_Admin.Trim());
cmd.Parameters.AddWithValue(at + P_Aramga.A_TelePhone, A_TelePhone.Trim());
cmd.Parameters.AddWithValue(at + P_Aramga.A_Fax, A_Fax.Trim());
cmd.Parameters.AddWithValue(at + P_Aramga.A_Emial, A_Emial.Trim());
cmd.Parameters.AddWithValue(at + P_Aramga.A_Site, A_Site.Trim());
cmd.Parameters.AddWithValue(at + P_Aramga.A_Address, A_Address.Trim());
cmd.Parameters.AddWithValue(at + P_Aramga.A_Address_SMS, A_Address_SMS.Trim());
cmd.Parameters.AddWithValue(at + P_Aramga.A_ZipCode, A_ZipCode.Trim());
cmd.Parameters.AddWithValue(at + P_Aramga.A_Logo, A_Logo);
cmd.Parameters.AddWithValue(at + P_Aramga.A_Sign, A_Sign);
cmd.Parameters.AddWithValue(at + StatementType, Program.Insert);
cmd.ExecuteNonQuery();

و دستورات کوئری در پروسجر

INSERT INTO Tbl_Aramga
(A_ID, A_Sh_Shobe, A_Sex, A_Semet, A_Name_Aramga, A_Name_Admin, A_TelePhone, A_Fax, A_Emial, A_Site, A_Address, A_Address_SMS, A_ZipCode,
A_Logo, A_Sign, A_Insert_Date, A_Insert_Time)
VALUES (@id,@A_Sh_Shobe,@A_Sex,@A_Semet,@A_Name_Aramga,@A _Name_Admin,@A_TelePhone,@A_Fax,@A_Emial,@A_Site,@ A_Address,@A_Address_SMS,@A_ZipCode,@A_Logo,@A_Sig n,@date,@time)


همه فیلد ها درست هستن و دست نخوردن ولی من ماندم چرا این طوری بهم ریختن و این خطا میده.
{"String or binary data would be truncated.\r\nThe statement has been terminated."}
دوستان با این مشکل برخورد کردید ممنون میشم به بنده راهنمایی کنید.

davidrobert
دوشنبه 14 آبان 1397, 21:50 عصر
از دوستان کسی نمیدونه علت این خطا چی هستش

Mahmoud.Afrad
دوشنبه 14 آبان 1397, 22:06 عصر
دیتایی که به یکی از ستونها ارسال میکنید بزرگتر از گنجایش تعریف شده برای اون ستون هست.

barnamenevisjavan
دوشنبه 14 آبان 1397, 22:09 عصر
از دوستان کسی نمیدونه علت این خطا چی هستش
علت این خطا معمولا برای این هست که اطلاعاتی که دارید ذخیره میکنید مقدارش از مقداری که براش تعریف کردین بیشتره
مثلا ستون عکس محدودیت کاراکتر 100 تایی گذاشتین و عکسی که دارین ذخیره میکنین مقدارش بیشتر از 100 کاراکتره

davidrobert
دوشنبه 14 آبان 1397, 22:29 عصر
علت این خطا معمولا برای این هست که اطلاعاتی که دارید ذخیره میکنید مقدارش از مقداری که براش تعریف کردین بیشتره
مثلا ستون عکس محدودیت کاراکتر 100 تایی گذاشتین و عکسی که دارین ذخیره میکنین مقدارش بیشتر از 100 کاراکتره



مقدار شون varbinary(MAX) هستش تصاویر تا دیروز ثبت میکرد بدون مشکل ولی از امروز دیگه کار نمیکنه لطفا راهی سراغ داشتید بگید ممنون میشم عکس Trancperant هم میخوام بفرستم خطا میده قسمت دیگه بدون مشکل کار میکنن این قسمت خطا میده

barnamenevisjavan
سه شنبه 15 آبان 1397, 13:47 عصر
مقدار شون varbinary(MAX) هستش تصاویر تا دیروز ثبت میکرد بدون مشکل ولی از امروز دیگه کار نمیکنه لطفا راهی سراغ داشتید بگید ممنون میشم عکس Trancperant هم میخوام بفرستم خطا میده قسمت دیگه بدون مشکل کار میکنن این قسمت خطا میده
نوع عکس رو بایت یا image قرار بدین

davidrobert
سه شنبه 15 آبان 1397, 19:05 عصر
نوع عکس رو بایت یا image قرار بدین

از دوستان ممنون مشکل برطرف کردم کدپستی بود ذخیره میکردم و از تصاویر نبود.