PDA

View Full Version : درست جواب ندادن جستجو بوسيله دستور LIKE



DlphIran
شنبه 21 شهریور 1388, 17:55 عصر
سلام

بنظر شما اين قسمت از دستورات برنامه ام چه مشكلي دارد كه در نمايش حاصل جستجو مشكل دارد؟

sql.Add(' where o1 like :j');
parameters.ParamByName('j').Value:='%'+edit17.Text +'%'
l
o1 نام فيلدي هست كه مي خوام داخلش جستجو كنم .

بعد از اجراي اين قسمت از دستورات خروجي نمايش داده نمي شود ، در صورتيكه در فيلدهاي جدول حاصل جستجو وجود دارد . مثلا حرف ب در بين خيلي از اطلاعات اين فيلد هست اما خروجي چيزي نمايش نمي دهد.
لطفا بگين مشكل از كجاست.

grand_ceasare
یک شنبه 22 شهریور 1388, 15:05 عصر
دوست عزيز
دستور Select رو جا انداختين,شما بايد اول مشخص کنيد که Where رو تو کدوم تيبلتون ميخواين اعمال کنيد

mehdimdp
یک شنبه 22 شهریور 1388, 17:06 عصر
نبايد به جاي % از * استفاده ميكردي؟؟؟:متفکر:

Tasnim
دوشنبه 23 شهریور 1388, 13:45 عصر
در ضمن باید کوئری رو باز هم کنید

DlphIran
دوشنبه 23 شهریور 1388, 16:51 عصر
من براي سرعت نوشتن تاپيك ،‌خلاصه تيكه برنامه ام رو گذاشتم . همه قسمتها رو درست نوشتم

من شكل استفاده از پارامترها رو عوض كردم درست جواب داد ولي عجيبه ،‌آخه فرقي نداره

sql.Add('where o1 like '+quotedstr('%'+edit17.Text+'%'));
l
حالا چه فرقي داشت با اون دستور بالا كه اون كار نمي كرد و اين كار ميكنه

mehdimdp
سه شنبه 24 شهریور 1388, 01:32 صبح
من شكل استفاده از پارامترها رو عوض كردم درست جواب داد ولي عجيبه ،‌آخه فرقي نداره
sql.Add('where o1 like '+quotedstr('%'+edit17.Text+'%'));
حالا چه فرقي داشت با اون دستور بالا كه اون كار نمي كرد و اين كار ميكنه

خب به خاطر اينكه فيلدo1 ازنوع رشته اي هستش.

bootshow
جمعه 27 شهریور 1388, 17:49 عصر
فکر نکنم به quote زیاد توجه نکردی

parameters.ParamByName('j').Value:='%'+quotedstr(e dit17.Text) +'%'