بررسی خالی بودن یک ستون در نتیجه کویری در سی شارپ
میخوام توی نتیجه این کویری یک ستون رو که بهش اسم Zor دادم رو بررسی کنم که خالی نباشه :
var MyQRE = dbms.Database.SqlQuery<string>("SELECT SUM(dbo.DEED_DTL.BES - dbo.DEED_DTL.BED) AS ZOR FROM MyDatabase")
البته چون این کویری من از چندتا جدول هست اِدامش مطمین نیستم که این SqlQuery<string> نوع درست هست یا نه
برای این کار یک کد رو دیدم ولی نمیتونم استفاده کنم :
if (!DBNull.Value.Equals(row[fieldName]))
{
quer_RST2
}
// یه همچین چیزی ... یا
if (MyQRE.filedname = "ZOR" is not null)
{
do something
}
لطفا در این مورد راهنمایی کنید
باتشکر از مهندسان عزیز که وقت میذارن بابت این سوال ♥
پاسخ هوش مصنوعی
برای بررسی خالی بودن ستون ZOR در نتیجه کویری شما، ابتدا باید اطمینان حاصل کنید که نوع داده ای که از کویری دریافت می کنید درست است. چون شما از یک تابع SUM استفاده کرده اید، نتیجه ممکن است به صورت عددی یا NULL باشد. در زیر یک نمونه کد برای بررسی این موضوع آورده شده است:
var result = dbms.Database.SqlQuery<Nullable<decimal>>("SELECT SUM(dbo.DEED_DTL.BES - dbo.DEED_DTL.BED) AS ZOR FROM MyDatabase").SingleOrDefault();
if (result.HasValue) {
// اگر ZOR خالی نیست، کدهای مورد نظر خود را اینجا بنویسید
Console.WriteLine("ZOR value is: " + result.Value);
} else {
// اگر ZOR خالی است، می توانید اینجا درماندگی یا محتوای دیگری را مدیریت کنید
Console.WriteLine("ZOR is NULL.");
}
در اینجا از نوع داده <Nullable<decimal>> استفاده کرده ایم تا بتوانیم مقادیر NULL را نیز بررسی کنیم. همچنین از متد SingleOrDefault() برای دریافت یک مقدار یا NULL استفاده کرده ایم.
با این کد، اکنون می توانید بررسی کنید که آیا مقدار ZOR خالی است یا خیر و عمل مناسب را انجام دهید. امیدوارم این کد به شما کمک کند.
با توجه به اینکه شما از انتیتی فریم ورک استفاده می کنید بهتره به صورت Linq دستوراتتون رو بنویسید. در این صورت دسترسی به ستونها و بررسی مقادیر اونها خیلی راحتتره.
اما نکته مهم اینه که شما می تونید بررسی کنید که کوئری شما نتیجه داشته یا نه. مثلا 10 تا سطر برگردونده یا اینکه هیچی. ولی اینکه چک کنید یک ستون null باشه نمیشه. شما یا باید سطرها رو چک کنید یا اینکه یک سلول خاص رو کنترل کنید.
در هر صورت اون ستون که شما می خواید کنترلش کنید شامل چندین سطر هست و باید سطرهاش چک بشه که مقدار دارن یا نه.
به عنوان مثال
var myQuery = _database.CustomerTbl.ToList();
if (myQuery.Count() > 0)
{
...
}
تو مثال خودتون هم دقیقا اومدید همین کار رو کردید
if (!DBNull.Value.Equals(row[fieldName]))
یعنی شما هم مقدار یک سطر و ستون (یک سلول) رو دارید کنترل میکنید.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- حذف کامل یک رکورد در جدول ریلیشن شده
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf