PDA

View Full Version : سوال: نشون ندادن بعضی از اطلاعات در گزارش



m.batimar
جمعه 11 مرداد 1392, 23:28 عصر
سلام دوستان محترم:
من میخوام تو برنامم وقتی یک دانشجو فارغ التحصیل شد شماره دانشجوییش از جدول دانشجو بفرستم به جدول فارغ التحصیلی .... ولی نمیخوام که از تو جدول دانشجو حذف بشه که سوابق دانشجو حذف بشه و این کارو برا گزارش گیری میخوام که دانشجویان فارغ التحصیلی رو نشون نده .... لطفا راهنماییم کنین

veniz2008
شنبه 12 مرداد 1392, 00:35 صبح
سلام دوستان محترم:
من میخوام تو برنامم وقتی یک دانشجو فارغ التحصیل شد شماره دانشجوییش از جدول دانشجو بفرستم به جدول فارغ التحصیلی .... ولی نمیخوام که از تو جدول دانشجو حذف بشه که سوابق دانشجو حذف بشه و این کارو برا گزارش گیری میخوام که دانشجویان فارغ التحصیلی رو نشون نده .... لطفا راهنماییم کنین
سلام.
شما اگه بهش دست نزنی که حذف نمیشه.
چرا حذف بشه؟.
همونطور که خودتون هم گفتید این اطلاعات نبایستی حذف بشن. چون سوابق تحصیلی یک شخص بایستی محفوظ بمونه.
اگر منظور دیگه ای دارید کامل توضیح بدید.
دقیقا کجاش رو مشکل دارید؟

mousa1992
شنبه 12 مرداد 1392, 00:44 صبح
موقعی که میخوای لیست دانشجو ها رو برای گزارش بفرستی باید اونایی که توی جدول فارغ التحصیلی هستن رو ازش کم کنی که این کارو میتونی با دستور Except انجام بدی - روش کارو خودت پیداش کن موفق باشی

Mahmoud Zaad
شنبه 12 مرداد 1392, 09:34 صبح
سلام
شما می تونید یه فیلد از نوع bit تعریف کنید برای تشخیص فارغ التحصیلی یا دانشجو بودن مثلا برای دانشجوها 1 و برای فارغ التحصیل ها 0. خب وقتی فرد فارغ التحصیل میشه این فیلد رو آپدیت می کنید. بعد بر اساس همین فیلد می تونید گزارش بگیرید.

m.batimar
شنبه 12 مرداد 1392, 09:53 صبح
سلام
شما می تونید یه فیلد از نوع bit تعریف کنید برای تشخیص فارغ التحصیلی یا دانشجو بودن مثلا برای دانشجوها 1 و برای فارغ التحصیل ها 0. خب وقتی فرد فارغ التحصیل میشه این فیلد رو آپدیت می کنید. بعد بر اساس همین فیلد می تونید گزارش بگیرید.
دوست عزیز ممنون از راهنماییتون.... اگه نمونه کد دارین بزارین ممنون میشم ...
که چجوری وقتی فرد فارغ التحصیل میشه فیلد اپدیت بشه؟

amir200h
شنبه 12 مرداد 1392, 09:56 صبح
نمونه کد نمیخواد. تو شزط سلکتتون آخرش یه and اضافه کنین به این صورت
select * from daneshjo where "shartet" and status=1
فرض کردیم status نام همون فیلدی که دوستمون گفتن

massoudghb
شنبه 12 مرداد 1392, 10:04 صبح
معمولن برای تشخیص روند پیشرفت یک عنصر در پروژه ، به عنوان نمونه دانشجو ؛ یک فیلد وضعیت مانند :​"Status" در نظر گرفته می شود که بر اساس پیشرفت عنصر در پروژه ،​مقدار آن عوض میشود . فرض کنیم status یک فیلد nvarchar است که زمان ساخت یک دانشجو به آن مقدار "New" را بدهیم .. حالا زمانی که فارغ التحصیل شد ، میتوانید مقدار آن را به "Graduate" تغییر بدهید . اینکه پیشنهاد میکنم از نوع bit استفاده نکنید ، علتش برمیگردد به اینکه ممکن است یک دانشجو چند حالت مختلف داشته باشد ،​ به عنوان نمونه : اخراجی - ترک تحصیل - مرخصی تحصیلی و ... که اگر به آن صورت برخورد کنید برای هر حالت یک فیلد باید اضافه کنید . و گزارشگیری شما هم دچار پیچیدگی های خاص خودش می شود .

مشکلی بود خبر کنید ..

Mahmoud Zaad
شنبه 12 مرداد 1392, 11:16 صبح
معمولن برای تشخیص روند پیشرفت یک عنصر در پروژه ، به عنوان نمونه دانشجو ؛ یک فیلد وضعیت مانند :​"Status" در نظر گرفته می شود که بر اساس پیشرفت عنصر در پروژه ،​مقدار آن عوض میشود . فرض کنیم status یک فیلد nvarchar است که زمان ساخت یک دانشجو به آن مقدار "New" را بدهیم .. حالا زمانی که فارغ التحصیل شد ، میتوانید مقدار آن را به "Graduate" تغییر بدهید . اینکه پیشنهاد میکنم از نوع bit استفاده نکنید ، علتش برمیگردد به اینکه ممکن است یک دانشجو چند حالت مختلف داشته باشد ،​ به عنوان نمونه : اخراجی - ترک تحصیل - مرخصی تحصیلی و ... که اگر به آن صورت برخورد کنید برای هر حالت یک فیلد باید اضافه کنید . و گزارشگیری شما هم دچار پیچیدگی های خاص خودش می شود .

مشکلی بود خبر کنید ..
بله کاملاً درسته در مورد دانشجو باید از این روش استفاده کرد.

veniz2008
شنبه 12 مرداد 1392, 11:41 صبح
معمولن برای تشخیص روند پیشرفت یک عنصر در پروژه ، به عنوان نمونه دانشجو ؛ یک فیلد وضعیت مانند :​"Status" در نظر گرفته می شود که بر اساس پیشرفت عنصر در پروژه ،​مقدار آن عوض میشود . فرض کنیم status یک فیلد nvarchar است که زمان ساخت یک دانشجو به آن مقدار "New" را بدهیم .. حالا زمانی که فارغ التحصیل شد ، میتوانید مقدار آن را به "Graduate" تغییر بدهید . اینکه پیشنهاد میکنم از نوع bit استفاده نکنید ، علتش برمیگردد به اینکه ممکن است یک دانشجو چند حالت مختلف داشته باشد ،​ به عنوان نمونه : اخراجی - ترک تحصیل - مرخصی تحصیلی و ... که اگر به آن صورت برخورد کنید برای هر حالت یک فیلد باید اضافه کنید . و گزارشگیری شما هم دچار پیچیدگی های خاص خودش می شود .

مشکلی بود خبر کنید ..
برای تعیین وضعیت یک دانشجو، روش مناسبی هست ولی نوع فیلد nvarchar مناسب نیست. فرض بگیرید متن یک وضعیت رو بخوایم عوض کنیم. مثلا "فعال" رو به "درحال تحصیل" تغییر بدیم. در اینصورت باید روی تعداد خیلی زیادی رکورد این ویرایش صورت بگیره. در چنین حالاتی بهتره یک جدول شامل حداقل دو فیلد : کد وضعیت (کلید) و وضعیت (همون متن وضعیت) در نظر بگیریم و کد وضعیت رو برای دانشجو ثبت کنیم. در اینصورت اگه تغییر احتمالی انجام بگیره دیگه نیازی نیست روی تعداد زیادی رکورد این تغییرات لحاظ بشه و فقط روی جدول وضعیت و بر روی یک رکورد تغییر صورت میگیره.
موفق باشید.

massoudghb
شنبه 12 مرداد 1392, 11:46 صبح
استفاده از Table Option و نگهداری کد اون در Status بهترین کاره ،​اما شاید برای این دوستمون که یه کم ممکنه تازه کار باشن ،​ پیچیدگی داره و در ابتدا نباید با این سطح پیچیدگی درگیرشون کرد.
باید پله به پله Optimize کنن کد رو ... وگر نه دلزده میشن از کار و ....