PDA

View Full Version : مشکل در فیلتر بر روی عبارت رشته ای



fazel-d
سه شنبه 23 بهمن 1386, 13:01 عصر
لطفا یه نگاه به کد زیر بندازید و بگید که sql.text رو چه تغییری بدم تا فیلتر رو بر روی عبار ت های رشته ای در table انجام بده چرا که این دستورات بعضی از اسامی رو میاره بعضی دیگه رو نه؟

DataModule2.QrySQl.SQL.Clear;
DataModule2.QrySQl.sql.Add('select * from entername where family =:a');
DataModule2.QrySQl.Parameters.ParamByName('a').Val ue:=txtempoye.Text;
DataModule2.QrySQl.ExecSQL;
DataModule2.QrySQl.Active:=true;
DBGrid1.DataSource:=DataModule2.DSsql;با تشکر

حمیدرضاصادقیان
سه شنبه 23 بهمن 1386, 13:14 عصر
سلام.اولا خط زیر اضافه است اونو حذف کن.


DataModule2.QrySQl.ExecSQL;

دوما شما وقتی به این صورت استفاده کردی حتما اون نام باید در دیتابیس وجود داشته باشه میتونی به شکل زیر استفاده کنی که اگر نامی شبیه به اونم بود برات بیاره.



sql.add('select * from entername where family like ''%:a%''');

fazel-d
سه شنبه 23 بهمن 1386, 13:50 عصر
تکس زیر رو قرار دادم ولی پیغام parameter a not found رو داد بعد اینکه جدای از این تکس زیر کد خودم ....نمی دونم بعضی نام ها رو میاره و لی بعضی دیگه رو نه


sql.add('select * from entername where family like ''%:a%''');
ولی وقتی که به جای فیلد family فیلد id که عددی هست رو می زارم دستورات عمل می کنه
حالا باید بر روی فیلتر رشته ای تغییری صورت بگیره .
ممنون می شم سریع پاسخ بدین

حمیدرضاصادقیان
سه شنبه 23 بهمن 1386, 15:12 عصر
میتونی به این شکل هم استفاده کنی.


sql.add('select * from Entername where family like ''%'+edit1.text+'%''');

SYNDROME
سه شنبه 23 بهمن 1386, 17:56 عصر
اگر مقدار فارسی را جستجو می کنی اینجوری هم تست کن.


sql.add('select * from Entername where family like N''%'+edit1.text+'%''');

موفق باشید