تور لحظه آخری
امروز : چهارشنبه ، 23 آبان 1403    احادیث و روایات:  پیامبر اکرم (ص):خوشا بحال كسانى كه براى خدا گرسنه و تشنه شده‏اند اينان در روز قيامت سير مى‏شوند.
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

بازسازی ساختمان

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

اوزمپیک چیست

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

نگهداری از سالمند شبانه روزی در منزل

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

 






آمار وبسایت

 تعداد کل بازدیدها : 1828663649




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

اتصال دو جدول به صورت یک به چند


واضح آرشیو وب فارسی:سایت ریسک: ahmad_r07-12-2009, 10:49 AMآیا امکان دارد دو جدول را با دو ارتباط "یک به چند" به هم متصل کرد؟؟؟ مثال: من یک جدول پروژه ها دارم که در آن انواع فیلدها وجود دارد که 2 تای آنها برایم مهم است: 1ـ مسئول پیگیری که در آن کد فردی که قرار است پیگیر کننده پروژه باشد ذخیره می شود. 2ـ معرف که در آن کد فردی که این پروژه را معرفی کرده ذخیره می شود همان طور که می بینید اطلاعات مسئول پیگیری و معرف شبیه هم بوده (مانند: نام و نام خانوادگی و...) لذا یک جدول دیگر با نام کارمندان داریم که این اطلاعات در آنها ذخیره می شود مشکل: اگر دو ارتباط بین کد در جدول کارمند با معرف و مسئول پیگیری برقرار شود و اطلاعات وارد شده در مسئول پیگیری و معرف برابر نباشد در موقع گزارش گیری هیچ گونه اطلاعاتی نمایش نمی دهد (یعنی اگر ما نام و فامیل مسئول پیگیری و نام و فامیل معرف را بخواهیم چیزی نمایش نمی دهد چون هر دو به یک جدول متصل اند) از طرفی اگر دو جدول برای این منظور در نظر بگیریم باید اطلاعات نام و فامیل و... در دو جدول وارد کرده که هم مدیریت آنها برای برابر بودن اطلاعاتشان سخت است هم اطلاعات تکراری در سیستم ذخیره می شود. لطفا بفرمائید چه راه هایی برای رفع این مشکل وجود دارد؟؟؟ راه منطقی مهندسی نرم افزار آن کدام است؟؟؟ با تشکر _H2_08-12-2009, 11:42 AMسلام با همان یک جدول مشکل شما حل خواهد شد و مشکل پیاده سازی ندارد. ولی برای کمک در جهت رفع ایراد ... 1) با چه ابزاری از دیتابیس گزارش میگیرید؟ 2) دستور SQLچیست و کجا آن را ساخته اید؟ در برنامه یا در ابزار گزارشگیری؟ شما در واقع باید دستور SQL را اصلاح کنید و دو Join به دو فیلد به یک جدول (با دو نام مجازی) ایجاد کنید. اگر جواب دو سوال فوق را بدانم راحت تر میتوالنم کمکتان کنم. موفق باشید. ahmad_r14-12-2009, 11:00 AMخیلی ممنون مشکلم حل شد اشتباهم اونجایی بود که از همون ارتباطات پیش فرضم استفاده می کردم در صورتی که باید با کلمه AS عملا یک جدول مشابه از پرسنلی ایجاد می کردم یعنی کد زیر: SELECT TOP (100) PERCENT dbo.Project.ID, dbo.Project.Name as N1, dbo.Company.Name As N2 , moaref.Name as MoarefName, moaref.Famil AS FamilMoaref, Peigir.Name AS NamePeigir, Peigir.Famil AS FamilPeigir, FROM dbo.Project INNER JOIN dbo.Employe AS Moaref ON moaref.ID = dbo.Project.MoarefID INNER JOIN dbo.Employe AS Peigir ON Peigir.ID = dbo.Project.PeigiriID اما حالا دو تا سوال دیگه دارم: 1ـ کدPERCENT Top(100) به چه دردی می خورد (دیتا بیسم اس کیو اله) و 2ـ چطوری می توان برای یک گزارش کریستال ردیف گذاشت (نحوه اتصال من به کریستال ریپورت) CReport1 CR1 = new CReport1(); CR1.SetDataSource(db.select(Report.strReport1)); crystalReportViewer1.ReportSource = CR1; توضیح: متغیر strReport1 همان کد بالاست و Creport1 هم کلاس کریستال ریپورتی است که قبلا و بر اساس نیاز ساخته شده (سوال دومیم مهمتره... منتظرم) با تشکر _H2_16-12-2009, 02:28 AMسلام مشکلم حل شد انشا ا.. همواره مشکلاتتان ساده و سریع حل شود. 1ـ کدPERCENT Top(100) به چه دردی می خورد (دیتا بیسم اس کیو اله) دستوری که 100% نتایج پرس و کو را بر میگرداند. با کاهش این عدد میتوانید تعداد سطرهای خروجی را محدود کنید. 2ـ چطوری می توان برای یک گزارش کریستال ردیف گذاشت خود کریستال هم شاید امکانش را داشته باشد، ولی چون مدت زیادی است کار نکرده ام دیگر درست به ذهنم مطمئن نیستم ... ! اگر از بانک اطلاعاتی SQL Server 2005 با بالا استفاده میکنید یک راه حل سریع و ساده دارد. شما به صورت عادی دستوری مثل این برای استخراج اطلاعات از بانک دارید: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! (حالا این دستور میتوانید بسیار پیچیده تر هم شود ولی ذاتش فرقی نمیکند) برای اضافه کردن یک عدد ترتیبی (که البته من باشم اضافه نمیکنم!) میتوانید کدی مثلب این بنویسید: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! دستور فوق یک ستون یا فیلد با نام ID_Row_Number به اول مجموعه نتیجه اضافه میکند که حاوی عدد های پشت سر هم برای ردیف ها است. این دستور در کلیه نسخه های SQL Server 2005/2008 کار خواهد کرد. موفق باشید. bad_boy_200716-12-2009, 09:39 PMبا اجازه استاد H2 براي گذاشتن شماره رديف در كريستال چند راه داري : 1- همانطور كه استاد H2 گفتند ميتوانيد از طريق ديتابيس اين شماره را بگيريد و به گزارشتان بفرستيد همانند باقي مشخصات (البته محاسبه شده) 2- در كريستال از متغيير Global استفاده كنيد و اين مقدار را يك واحد يك واحد افزايش دهيد ، اين روش كمي مشكل است ولي من از آن جهت آن را دوست دارم كه هيچ محوديتي ندارد . مثلا اگر بخواهيد از 100 ركورد به 100 ركورد عدد را ريست كنيد و مجدد از شماره 1 شروع شود يا در مواردي كه ميخواهيد براي چاپ ليستهاي مثل ليست كالا ها براي هر گروه از كالا ها يك شماره رديف منحصر به فرد داشته باشيد يا اينكه براي هر صفحه شماره از 1 شروع شود و ... [براي برخي از موارد فوق خود كريستال امكان ريست كردن فيلدهاي شمارنده را ميدهد ، مثلا براي گروه و شماره صفحه ولي در كل متغيير Global‌هيچ محدوديتي ندارد] 3- استفاده از RunTime Total Field ها ، براي اين فيلدها ميتوان شرطهاي پيچيده اي اعمال كنيد ، كار كردن با آنها ساده است و از سرعت خوبي برخوردارند . من براي شماره رديف Type اين فيلدها را در بخش Detail بر روي Count قرار ميدهم . سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2637]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن