بررسی خالی بودن یک ستون در نتیجه کویری در سی شارپ
میخوام توی نتیجه این کویری یک ستون رو که بهش اسم 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]))
یعنی شما هم مقدار یک سطر و ستون (یک سلول) رو دارید کنترل میکنید.
- آموزش نصب و راه اندازی دیتابیس PostgreSQL در ویندوز
- PostgreSql چیست ؟ چه کاربردهایی دارد ؟
- دسترسی به پکیج های nuget در زمان قطع نت بین الملل
- نمایش آخرین ردیف دیتاگیرید موقع لود در wpf
- مشکل اینترنت جهانی و عدم دسترسی به cdnjs.cloudflare.com
- مشکل در نصب sql server 2022
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- حذف کامل یک رکورد در جدول ریلیشن شده
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf