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 + '%')
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.