ورود

View Full Version : مشکل با کلید '(گ)



matinebi
سه شنبه 20 مرداد 1388, 19:29 عصر
من با کد زیر بانک رو فیلتر میکنم اما زمانی که کلید ' رو در ادیت باکس میزنم ارور زیر رو میده

SQL.Add('select * from tablename where fildename Like '+''''+'%'+Edit1.Text+'%'+'''';)

ارور

Invalid operator for data type. Operator equals modulo, type equals varchar.

ghabil
سه شنبه 20 مرداد 1388, 22:39 عصر
بجاش از QuotedStr استفاده کن، همینو جستجو کنی اینجا مثال زیاد هست. در حالتهای پیشرفته تر هم از Format

matinebi
پنج شنبه 22 مرداد 1388, 02:14 صبح
این نمونه کدی که من باهاش به مشکل میخورم

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from kala');
ADOQuery1.SQL.Add('where(name_ghate like''%'+Edit4.Text+'%'')or(no_ghate like''%'+Edit4.Text+'%'')');
ADOQuery1.open;


و اینم نمونه کدی که فرمودین با quotedstr بنویسم

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from kala');
ADOQuery1.SQL.Add('where(name_ghate like'+quotedstr(Edit4.Text)+'or no_ghate like'+quotedstr(Edit4.Text)+')');
ADOQuery1.open;


با کد دوم که هیچی نشون نمیده کلا گرید که متصل به بانک هست خالی میشه

khorsandreza
پنج شنبه 22 مرداد 1388, 14:29 عصر
دستور اول را به شکل زیر عوض کن




ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from kala');
ADOQuery1.SQL.Add('where name_ghate like('+"%"+Edit4.text+"%"+')');
ADOQuery1.open;



از دستور or استفاده نکن شما در یک EditBox یک مورد تایپ میکنی چه لزومی دارد از or استفاده کردن

ghabil
پنج شنبه 22 مرداد 1388, 20:01 عصر
خب برای اینکه با QuotedStr یادت رفت % هارو بزاری :


quotedStr('%' + str + '%')