PDA

View Full Version : دستور like در sql



Batman
پنج شنبه 24 خرداد 1386, 20:49 عصر
من توی دلفی دستور Like رو به این شکل نوشتم
;(' " % ' + select * from accounts where ordername like " ' + form1.edit7.text ')
بانکم sql server هستش و فیلد هم از نوع Varchar هستش
اما Error میده
"Invalid column name '4%
لطفا راهنماییم کنید

a_b_toops
پنج شنبه 24 خرداد 1386, 21:32 عصر
رشته خود را در QuotedStr قرار بده

SYNDROME
پنج شنبه 24 خرداد 1386, 22:46 عصر
با سلام
دستور را اینجوری بنویس.


'Select * from accounts where ordername like '''+ form1.edit7.text +'%''';


در دلفی رشته را با ' مشخص می کنند.

ealvandi
پنج شنبه 24 خرداد 1386, 23:33 عصر
این رو تست کنید.



'select * from accounts where ordername like ' + QuotedStr( form1.edit7.text +'%')'

ghabil
جمعه 25 خرداد 1386, 00:23 صبح
در دلفی رشته را با ' مشخص می کنند.

در دلفی و SQLServer و البته اینجا منظور SQLServer هست چون این دستور برای SQLServer فرستاده میشه.:چشمک:

Batman
جمعه 25 خرداد 1386, 03:27 صبح
متشکرم دوستان مشکلم حل شد

mehdi_mohamadi
شنبه 26 خرداد 1386, 07:10 صبح
از این هم می تونی استفاده کنی
;('''' + select * from accounts where ordername like ' +'''' + form1.edit7.text ')

HamidRezaAF
شنبه 26 خرداد 1386, 11:13 صبح
با سلام ،
از نظر من روش احسان مناسب ترین و راحت ترین روش است. در ضمن Select شما نمیدونم چه کار بردی دارد ولی روش کاربردی تر استفاده از % در دو طرف آن است.

موفق باشید
حمید رضا

arshia_
یک شنبه 27 خرداد 1386, 10:58 صبح
فکر کنم ارسال پارامتر راحتتر باشه
مخصوصا اگر چند تا شرط داشته باشیم.در ضمن خوانایی برنامه هم بالاتر می ره
:

qry.sql.add('select * from tbltest where field = :param1 ');//sql text
qry.parameters.parambyname('param1').value:='%'+tr im(edit1.text)+'%'; //parameters

ealvandi
یک شنبه 27 خرداد 1386, 11:02 صبح
فکر کنم ارسال پارامتر راحتتر باشه


به نظر من پیچیده تر میشه.

SYNDROME
یک شنبه 27 خرداد 1386, 15:21 عصر
با سلام

متشکرم دوستان مشکلم حل شد
با احترام برای همه دوستان که لطف کردند و جواب دادند.
فکر کنم مشکل دوستمان حل شد.