PDA

View Full Version : تحليل گزارش گيري با استفاده از چندين فيلد؟



javad_r_85
پنج شنبه 21 مهر 1390, 19:56 عصر
سلام
در قسمت گزارشگيري نرم افزار بنده 5 تا از فيلدهاي مهم جدول مانند رشته تحصيلي ، مقطع تحصيلي ،گروه عضويت و غيره را قرار دادم كه جلوي هر فيلدي يك چك باكس قرار دادم و زماني كه اين چك باكس تيك خورده باشد آن فيلد در واكشي داده ها از جدول موثر است حالا اگر بخواهم اين 5 فيلد را يكي يكي چك كنم 120 حالت بايد براي آنها در نظر بگيرم و نسبت به آنها دستور مناسب اس كيو ال را بنويسم كه خيلي وقت گير مي باشد از دوستان اگر كسي در اين زمينه كار كرده لطفا مرا راهنمايي فرماييد در ضمن من از Entity Framwork استفاده مي كنم؟؟

s3rv3r
پنج شنبه 21 مهر 1390, 20:25 عصر
براي سرچ كردن؟

والا من قبلا يه همچين مشكلي داشتم. اومدم يه كار كردم

خود كوئري رو در يك رشته اوليه وارد كردم


string sql1 = "select * from student where ";

اين كوئري اوليه بود
حال با فعال شدن هر چك باكس شرطم اضافه ميشد. البته تحت شرايتي خاص


if(اگر چك باكس هاي دگير غير فعال بودند و چك باكس من فعال)
{
sql2 = sql1 + "reshte ='"+txt_reshte.text+"'";
}
else if(checkboxreshte.checked = true)
{
sql2 = sql2 + "and reshte ='"+txt_reshte.text+"'";
}
else
{
sql2 = sql2.replace();// بايد هر دو رشته رو بر داريم هر چند وجود نداشته باشن. چون ما اطلاعاي نداريم كه كدوم اضافه شده

}


يعني اول چك ميكردم ببينم چك باكس هاي ديگه فعال هستن يا نه
اگه فعال بودند يعني يه شرطي قرار گرفته پس من ادامه شرط رو قرار ميدم
ولي اگه چك باكس ها فعال نبودند من ادامه where كوئري رو ادامه ميدادم

ولي در هنگام سرچ هم اگر هيچ كدوم از چك باكس ها تيك نخورده بود دستور where رو از sql1 حذف و اجرا ميكردم

اميدوارم به دردتون بخوره اين راه حل


يا حق

javad_r_85
پنج شنبه 21 مهر 1390, 21:38 عصر
دوست عزيز اين همون روشيه كه قبلا ذكر كردم و بايد 120 حالت را در نظر گرفت ضمن اينكه بنده از Entity Framwork استفاده كردم.