PDA

View Full Version : مشکل در جستجو با دیتابیس اکسس



bftarane
شنبه 20 مهر 1392, 13:57 عصر
سلام.
لطفاً این کدها رو ببینید.

sql = "select * from tbl_register where tahsilat like '%'+@KeyWord+'%' order by lname";
break;

grd_search.DataSource=DBase.ExecuteReader(System.D ata.CommandType.Text,sql,new OleDbParameter[]{
new OleDbParameter("@keyWord",toPersianSQL(txt_search.Text.TrimStart()).TrimEnd ())
});
grd_search.DataBind();
من با اجرای دستورات بالا با این خطا مواجه میشم.
Syntax error (missing operator) in query expression 'lname like N'%'+@KeyWord+'%''.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Syntax error (missing operator) in query expression 'lname like N'%'+@KeyWord+'%''.
ممنون می شم راهنمایی کنید.
راستش من از همین دستورات وقتی با Sql کار می کردم استفاده کرده بودم و استور پروسیجر هم نوشته بودم براش ولی حالا برای اکسس مجبورم در کدها کوئری بنویسم که الآن به مشکل خوردم.

mazoolagh
یک شنبه 21 مهر 1392, 10:58 صبح
مقدار خود پارامتر باید تو % باشه



sql = "select * from tbl_register where tahsilat like @KeyWord order by lname";

bftarane
دوشنبه 22 مهر 1392, 09:45 صبح
خیلی متشکرم. این هم جواب داد.

select * from tbl_register where corporation like ? order by lname
و همونطور که شما گفتید درصدها رو کنار خود مقدار پارامتر گذاشتم.

new OleDbParameter("@keyWord",'%'+searchtext+'%')