PDA

View Full Version : جستجوي پيشرفته



phoenix87
سه شنبه 06 مرداد 1388, 20:41 عصر
سلام بچه ها يه راهنمايي مي خواستم

نحوه درست كردن جستجوي پيشرفته چه جوريه؟
مثلا من يك نرم افزار بانك اطلاعاتي خودرو دارم در قسمت جستجوي پيشرفته سه تا ‍combo box دارم كه نام خودرو شهر و رنگ خودرو رو كاربر مي خواد جستجو كنه .مثلا ماشين سمند در تهران به رنگ آبي رو جستجو كن. بايد يك شي تقاضا رو درست كنم بدم به sql adaptor و dataset مثل دستور زير


Dim sq As string


Sq=?


Dim da new sqladaptor(sq,con)


Dim ds as new dataset()


Da.fill(ds.”table”)
حالا من توي sq چي بنويسم .يعني بخش select و from راحته تو قسمت where چي بنويسم؟
براي مثال بالا بايد بنويسم where city=Tehran, color = blue ولي من نمي دونم كاربر چي مي خواد؟
شايد كلا روش من اشتباست ممنون ميشم كمك كنيد.

mina.net
چهارشنبه 07 مرداد 1388, 11:59 صبح
"select * from tablename where color=N'typecolor' and city=N'cityname' and car=N'cartype'"

phoenix87
چهارشنبه 07 مرداد 1388, 18:55 عصر
خوب اين درست ولي ممكنه كابر بر اساس دو فيلد بخواد يعني شهر و ماشين رنگ نخواد اون وقت چي نميشه تو دستور where قسمت رنگ خالي گذاشت؟

mina.net
پنج شنبه 08 مرداد 1388, 09:15 صبح
نه نباید رنگ رو خالی گذاشت . شما باید رنگ رو از قسمت where حذف کنید.


Dim str AsString
Dim str_color AsString
Dim typecar AsString
Dim city AsString
str = "select* from tablename where"
If str_color <> ""Then str &= "color=N'" & str_color & "'"
If typecar <> ""Then str &= "typecar=N'" & typecar & "'"
If city <> ""Then str &= "city=N'" & city & "'"

da = New SqlDataAdapter(str, connectionstring)

باید یکی یکی شرط ها رو وارد کنی . برای اینکار باید هر یک از متغیر های str_color،typecar ،city مقدار دهی بشن.

موفق باشی