دسته بندی ها
11:42 1400/07/01
خطای Arithmetic operation resulted in an overflow در سی شارپ
کدهای زیر رو برای محاسبه مجموع فروش یک شرکت دارم.
public long TotalForoosh()
{
var query = (from up in _context.UserPackage_Tbl
join p in _context.Package_Tbl on up.PackageID equals p.PackageID
select new {
total = up.PackageMainPrice,
ostadid = p.UserId
});
if (userId != "-1")
{
query = query.Where(q => q.ostadid == userId);
}
return query.Select(q => q.total).DefaultIfEmpty(0).Sum();
}
اما بعد از اجرای کد خطای زیر رو میده :
Arithmetic operation resulted in an overflow.
مشخصات سوال کننده :
کاربر : pedram_khan
امتیاز کاربر : 277
رتبه کاربر : 6
به این سوال امتیاز بدهید
0
تعداد بازدید این سوال : 3103
پاسخ دهنده : saedbfd
14:32 1400/07/01
رفع خطای Arithmetic operation resulted in an overflow
دلیل این خطا یعنی سر ریز شدن مقدار. به عنوان مثال ممکنه شما یک متغیر از نوع byte تعریف کردید ولی مقداری بیشتر از حد مجاز داخلش قرار دادید. مثلا مقدار 1685452 رو شما نمی تونید داخل یک متغیر از نوع بایت قرار بدید.
در کوئری که نوشته شده یک متغیر به نام total دارید و یک فیلد به نام PackageMainPrice که البته مشخص نکردید که از چه نوعی هست این متغیر. احتمالا از نوع int هست. شما میتونید در حین اجرای کوئری مشخص کنید که این متغیر بیشتر از یک int فضا داشته باشه. میتونید از دستور Convert.ToInt64 استفاده کنید. کد شما به صورت زیر میشه :
public long TotalForoosh()
{
var query = (from up in _context.UserPackage_Tbl
join p in _context.Package_Tbl on up.PackageID equals p.PackageID
select new {
total = Convert.ToInt64(up.PackageMainPrice),
ostadid = p.UserId
});
if (userId != "-1")
{
query = query.Where(q => q.ostadid == userId);
}
return query.Select(q => q.total).DefaultIfEmpty(0).Sum();
}
با کد بالا مشکل شما حل میشه.
آخرین سوالات ثبت شده
- آموزش استفاده از 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 چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- نمایش گزارش stimulsoft روی کلاینت
- آپلود فایل در Asp.net core چگونه است؟
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.
 
ورود