PDA

View Full Version : مبتدی: مشکل در دستور select با چند پارامتر در قسمت شرط



adineh67
یک شنبه 09 شهریور 1393, 16:31 عصر
با سلام
در دستور سلکت با چند پارامتر در قسمت شرط که شرط ها با هم And شدند اگر کاربر مقدار یکی از فیلدهای شرطی رو تعیین نکرده بود چطور اون فیلد رو در عمل سلکت غیرفعال کنیم؟:متفکر:

parvizwpf
یک شنبه 09 شهریور 1393, 17:48 عصر
اصلا شرطش رو از سلکتتون بردارید. در واقع برای اینجور کارها شما باید شرط ها رو بسازید.

adineh67
یک شنبه 09 شهریور 1393, 18:06 عصر
میشه بیشتر توضیح بدی دوست عزیز؟
من یه چیزی مثل جست و جوی پیشرفته میخوام چیزی که به ذهنم رسیده and کردن شروط هست که بازم موندم اگه کاربر مقدار یکی از فیلدها رو تعیین نکرد چیکار باید کرد
اگه هم بخوام از if یا case استفاده کنم حالتهایی که باید بررسی کنم زیاد میشن
موندم چیکار کنم:ناراحت:

adineh67
پنج شنبه 20 شهریور 1393, 20:32 عصر
جواب سوالمو با راهنمایی دوست محترم parvizwpf (http://barnamenevis.org/member.php?243106-parvizwpf) گرفتم و بصورت زیر شد:


var query =from q in tablename select
new { q.Area, q.Sensor};
if (area != "")
{
query = query.Where(q => q.Area == area);
}
if (sen != "")
{
query = query.Where(ls => ls.Sensor == sen);
}
.
.
.

adineh67
پنج شنبه 20 شهریور 1393, 20:35 عصر
حالا یه مشکل دیگه واسم پیش ازمده :لبخند:
این کوئری مال وقتی هست که فیلدهای شرط با هم and میشن حالا موندم واسه or چیکار کنم ممنون میشم راهنمایی کنید

امیر مهرشاد
جمعه 21 شهریور 1393, 09:09 صبح
حالا یه مشکل دیگه واسم پیش ازمده :لبخند:
این کوئری مال وقتی هست که فیلدهای شرط با هم and میشن حالا موندم واسه or چیکار کنم ممنون میشم راهنمایی کنید
تمام حالت های گزارشتونو در یک سوئیچ قرار بدید یا با fast کار کنید که امکان گزارش سازی رو به خود کاربر هم میده

adineh67
جمعه 21 شهریور 1393, 14:46 عصر
fast چی هست؟
ممنون میشم در موردش بیشتر صحبت کنید

adineh67
سه شنبه 01 مهر 1393, 18:25 عصر
واسه اور سلکت کد زیر رو نوشتم ولی جواب درستی بر نمیگردونه



var listsegment2 = from ls1 in SMDB.SegmentInfos
where (ls1.Area == area || string.IsNullOrEmpty(area)) && (ls1.Sensor == sen || string.IsNullOrEmpty(sen)) &&
(ls1.System == sys || string.IsNullOrEmpty(sys)) && (ls1.Jbo == jbo || string.IsNullOrEmpty(jbo))
select new
{}


فرضا من میخوام قطعاتی که سنسور=دما یا ناحیه شون = 1 هست رو نمایش بده اما میاد اندشون میکنه و اگه && رو به || تغییر بدم جواب نمیده
چطور تصحیحش کنم؟

mohammad5530
سه شنبه 01 مهر 1393, 21:58 عصر
باید از چندین شرط پشت سر هم استفاده کنید . یعنی از حالت کلی به حالت جزئی بیاید . در اکثر موارد به این صورت کار راحت تر میشود

adineh67
سه شنبه 01 مهر 1393, 22:07 عصر
باید از چندین شرط پشت سر هم استفاده کنید . یعنی از حالت کلی به حالت جزئی بیاید . در اکثر موارد به این صورت کار راحت تر میشود

اگه براتون مقدور هست ممنون میشم با یه تیکه کد کوچیک واضح تر توضیح بدین

raheleh123
دوشنبه 05 مرداد 1394, 15:16 عصر
با سلام
در دستور سلکت با چند پارامتر در قسمت شرط که شرط ها با هم And شدند اگر کاربر مقدار یکی از فیلدهای شرطی رو تعیین نکرده بود چطور اون فیلد رو در عمل سلکت غیرفعال کنیم؟:متفکر:

سلام
منم همین مشکل رو دارم ولی چیزی از کد هایی که گزاشتن سر در نیاوردم...
دیتابیسم sql و asp.net C#

aria2006
شنبه 23 آبان 1394, 12:03 عصر
جواب سوالمو با راهنمایی دوست محترم parvizwpf (http://barnamenevis.org/member.php?243106-parvizwpf) گرفتم و بصورت زیر شد:


var query =from q in tablename select
new { q.Area, q.Sensor};
if (area != "")
{
query = query.Where(q => q.Area == area);
}
if (sen != "")
{
query = query.Where(ls => ls.Sensor == sen);
}
.
.
.


سلام دوست عزیز
منم همین مشکلو دارم میشه در مورد کد بالا کمی توضیح بدید مثلا query=from چکار میکنه ؟!!! یا یه مثال عینی بر اساس اون بزنید؟!:خجالت: