PDA

View Full Version : طراحی search با #c



bahareee
یک شنبه 27 خرداد 1386, 00:13 صبح
چطور میتونم با استفاده از query قسمت search رو طراحی کنم ؟ طوری که همه table ها جستجو بشه و نتیجه جستجو در gridview نمایش داده بشه

azmoodeh
یک شنبه 27 خرداد 1386, 00:55 صبح
سلام
سوالی که مطرح کرده اید می تواند بسیار گسترده و عمیق به آن نگاه کرد.ولی ساده ترین روش آن این است که برای تمامی جداولتان یک دستور SELECT روی فیلدهایی که مورد نظرتان هست اجرا کنید و نهایتا نتیجه مجموعه SELECT ها را نمایش دهید.
اگر منظورتان شناخت جداول پایگاه داده به صورت پویا هست در سایت جستجو کنید نتیجه میگیرید .
موفق باشید

poya011
یک شنبه 27 خرداد 1386, 08:11 صبح
تاپیک جستجو : http://barnamenevis.org/forum/showthread.php?t=70357

bahareee
چهارشنبه 30 خرداد 1386, 00:03 صبح
سلام
سوالی که مطرح کرده اید می تواند بسیار گسترده و عمیق به آن نگاه کرد.ولی ساده ترین روش آن این است که برای تمامی جداولتان یک دستور SELECT روی فیلدهایی که مورد نظرتان هست اجرا کنید و نهایتا نتیجه مجموعه SELECT ها را نمایش دهید.
اگر منظورتان شناخت جداول پایگاه داده به صورت پویا هست در سایت جستجو کنید نتیجه میگیرید .
موفق باشید

چطور میشه یک دستور select رو برای چند جدول نوشت؟؟:متفکر:

azmoodeh
چهارشنبه 30 خرداد 1386, 00:17 صبح
سلام
اگر منظورتون اینه که یه دستور SELECT بنویسید که معادل نوشتن دستور SELECT روی تک تک جدول ها باشه که امکانش وجود نداره ، من هم منظورم این بود که این کار رو تمام جداول انجام بدید.
برای راحتی می تونید یک تابع بنویید که نام جدول و در صورت نیاز نام فیلد مورد جستجو رو بگیره و نتیجه رو برگردونه ( حتی می تونید نام جدول ها و فیلدهاشون رو توی یک جدول دیگه بزارید و از اونجا بخونید ، البته این راه حلم رو به هیچ عنوان یک راه حل منطقی و علمی و خوب تلقی نکنید ، ولی به هر حال هم ساده هست هم مزایایی داره )

اگر از SQL SERVER یا اوارکل استفاده می کنید می تونید با یک سری دستورات نام تمام جداول موجود توی دیتابیستون رو پیدا کنید و حالا ازشون برای جستجوی تمام دیتبیس استفاده کنید ( چیزی شبیه اون که گفتم اسم همه جدول ها و فیلدهاشون رو که می خواید روش جستجو انجام بشه توی یک جدول بزارید و ازش استفاده کنید ، اینجوری می تونید در زمان اجرای برنامه هر جایی بدون تغییر توی کد روش جستجوتون رو عوض کنید )
اگر هم کارتون با این توضیحات به جایی نرسید برنامه و توضیح اینکه چه چیزی نیاز دارید رو به این آدرس ایمیل کنید تا اگر بتونم بهتون یه راه حل مناسب بدم. Amin_Azmoodeh@yahoo.com

موفق باشید

hdv212
چهارشنبه 30 خرداد 1386, 00:25 صبح
هدفت برای خوندن اطلاعات چند جدول چیه ؟؟ اگه جداولت به صورت رابطه ای هستن، میتونی اونا رو با هم join کنی، یا اگه میخوای اطلاعات چند جدول رو یه جا و توی یه جدول داشته باشی، به شرطی که داده های هر فیلد جدولها با هم یکی باشه، از union یا union all میتونی استفاده کنی(برای هر جدول یه select) و در نهایت همه رو با هم اجرا کنی.

bahareee
یک شنبه 03 تیر 1386, 00:32 صبح
هدفت برای خوندن اطلاعات چند جدول چیه ؟؟ اگه جداولت به صورت رابطه ای هستن، میتونی اونا رو با هم join کنی، یا اگه میخوای اطلاعات چند جدول رو یه جا و توی یه جدول داشته باشی، به شرطی که داده های هر فیلد جدولها با هم یکی باشه، از union یا union all میتونی استفاده کنی(برای هر جدول یه select) و در نهایت همه رو با هم اجرا کنی.
بعضی از table ها رابطه ای با بقیه ندارند
برای table هایی که join شده اند چی کار باید بکنم؟ میشه بیشتر توضیح بدین؟؟
و داده های هر فیلد جدولها با هم یکی نیستند.

alireza1384
دوشنبه 04 تیر 1386, 07:55 صبح
سلام.
مشکل مطرح شده را نمی توان با یک دستور sql حل کرد. چرا که وقتی دریک دستور select ازچندجدول استفاده شود حالت join ایجاد می گرددکه اگرصراحتا نوع join را مشخص ننمایید sql هر رکوردازجدول نخست را به تمام رکوردهای جداول دیگر مرتبط نموده و نتیجه را که تعدادرکوردهای آن چندین برابرمجموع رکوردهای جداولتان می باشد نمایش می دهد. بنابراین بهتر است برای هر جدول دستورجداگانه نوشته شود.