PDA

View Full Version : جستجو در sql



ehsan_ei
جمعه 13 فروردین 1389, 01:52 صبح
سلام دوستان:
من میخوام عددی رو که در edit می نویسم رو در دو جدول جستجو کنم و در عین حال 2تا جدولم رو باهم joinکنم. این فیلد مه می خوام جستجو کنم کلید اصلی هردو جدولمه. این کد رو برتش نوشتم اما درست عمل نمی کنه!:گریه:

adoQuery1.SQL.Clear;
adoQuery1.SQL.Add('select edareh.shomaretarh,edareh.shomaredasturekar,name.f name from edareh,name where edareh.shomaretarh=name.shomaretarh and edareh.shomaretarh=:b ');
adoQuery1.Parameters.ParamByName('b').Value:=strto int(edit1.Text);
adoQuery1.ExecSQL;
adoQuery1.Open;

اگه می شه راهنماییم کنین:افسرده:

pezhvakco
شنبه 14 فروردین 1389, 08:15 صبح
درود :
Join (پیوند) دادن جدول های بانک اطلاعاتی به هم چند شکل مختلف دارد و بنا به نوع خروجی مورد نظر کدهای متفاوتی نوشته میشه .
مانند :
در Inner join تمام رکوردهاي دو جدول، هر جا که شرط مطابقت داشته باشه نمايش داده ميشه و اگر در جدول اول رکوردي وجود داشته باشه که با هيچ رکوردي از جدول دوم مطابقت نداشته باشه، در نتيجه نهايي نمايش داده نميشه.

FROM first_table INNER JOIN second_table

در Left join تمام رکوردها از جدول اول نمايش داده ميشه، حتي اگر با هيچ رکوردي از جدول دوم مطابقت نداشته باشه.

FROM first_table LEFT JOIN second_table

Right join برعکس left join عمل ميکنه و تمام رکوردهاي جدول دوم رو نمايش ميده، حتي اگر با هم مطابقت نداشته باشند.

FROM first_table RIGHT JOIN second_table

همین Join رو جستجو کن برای پاسخ دقیق تر .
میشه از کدهای ترکیبی هم استفاده کرد.
فکر خوش .

nilidelphi
دوشنبه 16 فروردین 1389, 11:19 صبح
ساده ترین راه اینه که هردو جدولتو تو خود SQLServer به اتصال بدی (با استفاده از view ها) و هر فیلدی رو که دوست داری توی شرطت قرار بدی و بعد ران کنی
خود اس کیو ال کد همه مراحل رو بهت نشون میده حالا میتونی کدت رو کپی کرده و در دلفی استفاده کنی یا میتونی از همان خود ویویی که ساختی استفاده کنی (البته استفاده از view راحتتره و من توصیه میکنم)

اینم بگم که دلفی با یک view همانند یک جدول برخورد میکنه پس نگران برقراری ارتباط و جستجوی داده رو از view نباش

یک نکته ی مهم اینه که ویو برای دیدن اطلاعات نه اضافه کردن ولی میتونید داده رو از ویو حذف کنید ولی داده ها از هر دو جدول (یا بیشتر ) متصل به ویو حذف خواهد شد.

موفق باشید...
:قلب: