View Full Version : مشکل در ساخت lookup view
j.farazani
سه شنبه 06 شهریور 1386, 22:04 عصر
سلام خدمت تمامی دوستان عزیزم
یه سوال؟
من یه table دارم که به نام users که نام کاربرانم رادر اون ثبت میکنم . یه فیلد id داره که primary و یه فیلد نام کاربر هم داره ، یه table دیگه هم هست که قرار توی اون id تایید کننده ،ارسال کننده ، حذف کننده و..... به صورت جدا در ستونهای متفاوت ذکر بشه . این ستونها رابطه یک به چند دارن با ستون id جدول users . حالا میخوام یه view بسازم که در اون نام ایجاد کننده و حذف کننده و ... بیاد . اگه از عزیزان کسی راه حلی داره از ما تازه کار ها هم دریغ نکنه
یک دنیا لطف میکنید
supporter
چهارشنبه 07 شهریور 1386, 07:57 صبح
سوال های مشابه سوال شما چندین بار پاسخ داده شده :
http://barnamenevis.org/forum/showthread.php?t=76039
j.farazani
چهارشنبه 07 شهریور 1386, 16:54 عصر
از دوستان عزیزم supporter و hamid.kad خیلی ممنونم
اما مشکل اینجاست که وقتی کاربر اطلاعات فیلد P_id رو در view عوض میکنه تا زمانی که اطلاعات refresh نشه نام درس پیش نیاز ظاهر نخواهد شد . این در حالی است که من می خوام بلافاصله بعد از خروج از فیلد P_id نام درس پیش نیاز ظاهر بشه . حالا چه در حالت insert و چه در حالت update
خواهش میکنم در این زمینه یه کمکی بکنید
AminSobati
پنج شنبه 08 شهریور 1386, 00:06 صبح
دوست عزیزم،
تا زمانی که Select رو تکرار نکنین، اطلاعاتی که مشاهده میکنین به روز نمیشه. کاملا طبیعیه. شاید دنبال Query Notification هستین؟ این قابلیت در SQL Server 2005 وجود داره
j.farazani
پنج شنبه 08 شهریور 1386, 11:44 صبح
با سلام خدمت استاد sobati
از توجه شما خیلی ممنون
حقیقتا محیط برنامه من vb6 ولی قبلا در اکسس برنامه می نوشتم توی اکسس میشد این کار رو انجام داد یعنی به محض ورود P_id نام درس پیش نیاز عوض میشد اما ظاهرا نمیشه توی sql این کار رو انجام داد . می خوام بدونم آیا شما این مشکل رو حل کردید . یا ترفندی برای حل این مشکل وجود داره ، یا اینکه چاره ای نیست و تا زمانی که کاربر اطلاعات رو به طور کامل ثبت نکنه و select رو تکرار نکنه نمیتونه نام درس پیش نیاز رو ببینه
با تشکر فراوان
supporter
جمعه 09 شهریور 1386, 09:14 صبح
حقیقتا محیط برنامه من vb6 ولی قبلا در اکسس برنامه می نوشتم توی اکسس میشد این کار رو انجام داد یعنی به محض ورود P_id نام درس پیش نیاز عوض میشد اما ظاهرا نمیشه توی sql این کار رو انجام داد . می خوام بدونم آیا شما این مشکل رو حل کردید . یا ترفندی برای حل این مشکل وجود داره ، یا اینکه چاره ای نیست و تا زمانی که کاربر اطلاعات رو به طور کامل ثبت نکنه و select رو تکرار نکنه نمیتونه نام درس پیش نیاز رو ببینه
دوست عزیز بعید می دونم چنین کاری رو توی Access هم بشه انجام داد احتمالا اونجا به شکل دیگه ای عمل می کردید.
شما میتونید یک Dataset بگیرید و اون را با رکوردهای مورد نیازتون مثلا با کد درس و نام درس از جدول درسها پر کنید و هرجا که کد درسی رو Update و یا Insert می کنید نام درس رو از این Dataset (که شامل کد و نام تمامی دروس است) Lookup کنید.
AminSobati
جمعه 09 شهریور 1386, 14:55 عصر
اما ظاهرا نمیشه توی sql این کار رو انجام داد . می خوام بدونم آیا شما این مشکل رو حل کردید . یا ترفندی برای حل این مشکل وجود داره ، یا اینکه چاره ای نیست و تا زمانی که کاربر اطلاعات رو به طور کامل ثبت نکنه و select رو تکرار نکنه نمیتونه نام درس پیش نیاز رو ببینه
در SQL Server 2005 امکانش هست، ولی اگر کلاینت شما vb6 باشه یقین ندارم تا چه حد این کار شدنیه. در یک مقاله خوندم که به کمک ADO 2.5 (صرف نظر از NET.) هم میشه با SQL Server 2005 این کار رو انجام داد، اما به چه شکل نمیدونم. این لینک رو هم ببینید:
http://barnamenevis.org/forum/showthread.php?t=75979
Hamid.Kad
جمعه 09 شهریور 1386, 16:23 عصر
دوست عزیز j.farazani
من با دلفی کار میکنم. کامپوننتی داره از نوع TADOQuery.
که یکی از خاصیتهای اون CursorType و دیگری CursorLocation هست که در واقع برای همین منظور استفاده میشوند.
احتمالاً توی vb هم همچین خواصی برای شیء مربوطه وجود داره.
برای جستجوی بیشتر dynamic cursors رو توی books online sql server ببینید
j.farazani
جمعه 09 شهریور 1386, 19:11 عصر
با سلام خدمت تمامی عزیران
قبل از هر چیز از توجهتون یک دنیا ممنوننم امیدوارم بتونم جبران کنم
دوست عزیز بعید می دونم چنین کاری رو توی Access هم بشه انجام داد احتمالا اونجا به شکل دیگه ای عمل می کردید.
شما میتونید یک Dataset بگیرید و اون را با رکوردهای مورد نیازتون مثلا با کد درس و نام درس از جدول درسها پر کنید و هرجا که کد درسی رو Update و یا Insert می کنید نام درس رو از این Dataset (که شامل کد و نام تمامی دروس است) Lookup کنید.
supporter عزیز من این کار رو انجام دادم فایل ضمیمه نمون های از این کار هست شما هم ببینید شاید کمکی بکنه
از دوستان عزیز، استاد sobati و hamid.kad هم یک دنیا ممنونم
که یکی از خاصیتهای اون CursorType و دیگری CursorLocation هست که در واقع برای همین منظور استفاده میشوند.
احتمالاً توی vb هم همچین خواصی برای شیء مربوطه وجود داره
hamid جان میشه بگی این دو خاصیت رو در اونجا به چه صورت set میکنی که این مشکل رو حل کردی؟
Hamid.Kad
جمعه 09 شهریور 1386, 19:39 عصر
cursortype رو روی ctDynamic و CursorLocation رو روی clUseServer تنظیم کنید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.