PDA

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



سعید کشاورز
چهارشنبه 29 آذر 1391, 23:51 عصر
سلام دوستان..اشکال این دستور من چیه که سرچ نمیکنه؟

com.CommandText = "select id,codeozviat,personname,personfamily,codemelli from member where personName LIKE '%@Name%' ";
مقدار @Name رو با TextBox مقدار دهی میکنم ولی هیچ رکوردی رو نشون نمیده...
مثلا من میخام اون کسایی که توی اسموشن علی دارن رو نشون بده..مثل علیرضا..علی..محمدعلی..حتی وقتی به جای @Name مستقیم مقدار میدم بازم جواب نمیده..اینم بگم که دستور فقط با Like مشکل داره..
مثلا اگه بنویسم


where personName=@Name

درست جواب میده..ولی با Like مشکل دارم..اشکال کارم کجاست؟
مقدار @Name رو از TextBox میگیرم

ordebehesht
چهارشنبه 29 آذر 1391, 23:58 عصر
@ حذف کن ببین جواب میگیری در ضمن با where بنویس مجدد

سعید کشاورز
پنج شنبه 30 آذر 1391, 00:07 صبح
@ حذف کن ببین جواب میگیری در ضمن با where بنویس مجدد
اگه @ رو حذف کنم که دیگه متغیر نمیشه که بهش مقدار بدم..
یه جای کار از دستور Like میلنگه که نمیدونم از کجاشه

ordebehesht
پنج شنبه 30 آذر 1391, 00:13 صبح
name متغیر هستش یا نه یه رشته مورد جستجو

Nima_kyan
پنج شنبه 30 آذر 1391, 00:16 صبح
سلام
دوست من کدت رو به این شکل تغییر بده.

com.CommandText = "select id,codeozviat,personname,personfamily,codemelli from member where personName LIKE '%" + textBox1.Text + "%'";
موفق باشید

سعید کشاورز
پنج شنبه 30 آذر 1391, 00:19 صبح
بالاخره پیداش کردم..انقدر باهاش کار کردم تا درست شد :کف:
شرط رو باید اینجوری بنویسی

where personName LIKE '%'+@Name+'%' ";

ordebehesht عزیز .ممنون از اینکه خواستی کمکم کنی..
فکر کنم شما با متغیر ها در SQL آشنایی نداری..
زمانی که بخوای از یه متغیر استفاده کنی و بعدش او متغیر رو مقدار دهی کنی از @ استفاده میشه که SQL میفهمه که @NAME رشته نیست..قرار توش مقدار قرار بگیره..یه سرچ بزنی کلی مطلب پیدا میشه

ordebehesht
پنج شنبه 30 آذر 1391, 00:52 صبح
ممنون از راهنماییتون اماامروز در کل راهنمایی درست حسابی نکردم در ضمن دقت نکردم من خودم کدامواینتوری می نویسم اما امروز بی دقت شدم در کل ممنون از تذکرتون مرسی