PDA

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



man_iran
پنج شنبه 12 مهر 1386, 02:52 صبح
من برای جستجو در بانک اطلاعاتی از دستورات اس کو ال زیر استفاده می کنم :




string str= "SELECT listName AS [نام],listFamily AS [نام خانوادگی] FROM nameTable WHERE " + "listName" + " LIKE '%" +
text + "%' ORDER BY " + "listName";



ولی این دستور یه اشکال داره اون هم اینه که وقتی برنامه متن text را داخل لیست نام موجود در بانک اطلاعاتی می گرده تمام متن هایی که تقریبا شبیه به آن هست را هم نمایش می ده!
من دستوری می خوام که فقط متن شبیه به text را نمایش بده ...

mohammad272005
پنج شنبه 12 مهر 1386, 04:08 صبح
شما از دستور LIKE %% استفاده کردی. معلومه که اینطور میشه که گفتی. برای اینکار باید اینطوری بنویسی:

string str= "SELECT listName AS [نام],listFamily AS [نام خانوادگی] FROM nameTable WHERE " + "listName" + " = '" + text + "' ORDER BY " + "listName";

hdv212
پنج شنبه 12 مهر 1386, 09:02 صبح
دوست عزیز تنها راه استفاده و کار با متون در sql server همین دستور like هست، شما باید پارامتر جستجوی خودتون رو محدود تر کنید تا اطلاعاتتون به اصطلاح بیشتر فیلتر بشه، ولی برای کار با متون بزرگ، sql server ابزار قدرتمندی داره به نام
FTS (Full Text Search)
که امکانات فوق العاده ای برای جستجوی متون داره (اصلا واسه این کار ساخته شده) و دارای سرعت بالایی هم هست، برای اطلاعات بیشتر به بخش sql server مراجعه کنید.