دسته بندی ها
16:27 1398/08/05
دلیل خطای Implicit conversion from data type nvarchar to varbinary(max) is not allowed
موقع آپلود فایل در پروژه Asp.net mvc یک خطا دریافت می کنم. خطایی که دریافت می کنم این هست
Implicit conversion from data type nvarchar to varbinary(max) is not allowed
من توی Sql Server برای آپلود فایل یک ستون از نوع varbinary هم در نظر گرفتم اما نمی دونم چرا موقع آپلود فایل روی پارامتر @FilUpload این خطا رو دریافت می کنم. کدهایی که من نوشتم برای آپلود فایل در ادامه نمایشش می دم
public ActionResult UpdateClearanceItems(string TranNo, string CompanyID, string AtmCard, string FleetCard, string HmoCard,
string Uniform, string RSA, string EducationBenefitsRSA, string AmaBankLoan, string UsedSL,
string ProratedSL, string KingsTreat, string LastPayroll, string OthersHr, string remarksCompanyID,
string remarksAtmCard, string remarksFleetCard, string remarksHmoCard, string remarksUniform,
string remarksRSA, string remarksEducationBenefitsRSA , string remarksAmaBankLoan, string remarksUsedSL,
string remarksProratedSL, string remarksKingsTreat, string remarksLastPayroll, string remarksOthersHr,
HttpPostedFileBase[] FileUpload)
{
dynamic user = Session["UserProfile"];
string UserID = user[0].UserID.ToString();
DataTable dtItems = new DataTable();
dtItems.Columns.Add("FileName", typeof(string));
dtItems.Columns.Add("ContentType", typeof(string));
dtItems.Columns.Add("Data", typeof(string));
foreach (var file in FileUpload)
{
byte[] bytes;
using (BinaryReader br = new BinaryReader(file.InputStream))
{
bytes = br.ReadBytes(file.ContentLength);
}
dtItems.Rows.Add(file.FileName, file.ContentType, bytes);
}
using (SqlConnection con = new SqlConnection(GlobalFunction.GetConnection("PayrollConnect")))
{
con.Open();
try
{
SqlCommand cmd = new SqlCommand("spm_EmpClearancePending", con);
cmd.CommandTimeout = 1000000;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@TranNo", TranNo.ToString());
cmd.Parameters.AddWithValue("@UserID", UserID.ToString());
cmd.Parameters.AddWithValue("@CompanyID", CompanyID.ToString());
cmd.Parameters.AddWithValue("@AtmCard", AtmCard.ToString());
cmd.Parameters.AddWithValue("@FleetCard", FleetCard.ToString());
cmd.Parameters.AddWithValue("@HmoCard", HmoCard.ToString());
cmd.Parameters.AddWithValue("@Uniform", Uniform.ToString());
cmd.Parameters.AddWithValue("@RSA", RSA.ToString());
cmd.Parameters.AddWithValue("@EducationBenefitsRSA", EducationBenefitsRSA.ToString());
cmd.Parameters.AddWithValue("@AmaBankLoan", AmaBankLoan.ToString());
cmd.Parameters.AddWithValue("@UsedSL", UsedSL.ToString());
cmd.Parameters.AddWithValue("@ProratedSL", ProratedSL.ToString());
cmd.Parameters.AddWithValue("@KingsTreat", KingsTreat.ToString());
cmd.Parameters.AddWithValue("@LastPayroll", LastPayroll.ToString());
cmd.Parameters.AddWithValue("@OthersHr", OthersHr.ToString());
cmd.Parameters.AddWithValue("@remarksCompanyID", remarksCompanyID.ToString());
cmd.Parameters.AddWithValue("@remarksAtmCard", remarksAtmCard.ToString());
cmd.Parameters.AddWithValue("@remarksFleetCard", remarksFleetCard.ToString());
cmd.Parameters.AddWithValue("@remarksHmoCard", remarksHmoCard.ToString());
cmd.Parameters.AddWithValue("@remarksUniform", remarksUniform.ToString());
cmd.Parameters.AddWithValue("@remarksRSA", remarksRSA.ToString());
cmd.Parameters.AddWithValue("@remarksEducationBenefitsRSA", remarksEducationBenefitsRSA.ToString());
cmd.Parameters.AddWithValue("@remarksAmaBankLoan", remarksAmaBankLoan.ToString());
cmd.Parameters.AddWithValue("@remarksUsedSL", remarksUsedSL.ToString());
cmd.Parameters.AddWithValue("@remarksProratedSL", remarksProratedSL.ToString());
cmd.Parameters.AddWithValue("@remarksKingsTreat", remarksKingsTreat.ToString());
cmd.Parameters.AddWithValue("@remarksLastPayroll", remarksLastPayroll.ToString());
cmd.Parameters.AddWithValue("@remarksOthersHr", remarksOthersHr.ToString());
cmd.Parameters.AddWithValue("@FileUpload" ,dtItems);
cmd.ExecuteNonQuery();
}
catch(Exception err)
{ }
}
return RedirectToAction("ClearanceDashboard", "Clearance", new { Message = "Done" });
}
ویرایش شده در دوشنبه 4 مرداد 1400 ساعت 03:13:16
مشخصات سوال کننده :
کاربر : hamid_b
امتیاز کاربر : 510
رتبه کاربر : 4
به این سوال امتیاز بدهید
0
تعداد بازدید این سوال : 3499
پاسخ دهنده : saedbfd
16:38 1398/08/05
به خط زیر در کدهای خودتون دقت کنید
dtItems.Columns.Add("Data", typeof(string));
شما توی دیتابیس خودتون فیلدی رو که برای آپلود فایل و اطلاعات در نظر گرفتید از نوع Varbinary در نظر گرفتید اما توی این کدها از نوع string
کد خودتون رو به کد زیر تغییر بدید درست میشه
dtItems.Columns.Add("Data", typeof(byte[]));
آخرین سوالات ثبت شده
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
سوالات مرتبط
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- مشکل تاریخ شمسی در سی شارپ
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- ارسال ایمیل در Asp.net core
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.
 
ورود