PDA

View Full Version : نحوه نوشتن like در دستورات



sanazbegmaz
دوشنبه 03 اسفند 1388, 10:51 صبح
باسلام من میخوام از دستور like در جستجو استفاده کنم بطوریکه هر حرفی رو که در textboxوارد میکنم اسمهایی(نتایجی) راکه حرف اولشان با حرف تایپ شده یکی است را در gridview نمایش دهداینکار با استفاده از like در دستور select میباشد ولی چطور باید نوشت تا برای همه حروف جواب دهد؟ممنون میشم اگر راهنمایی کنید.

jas1387
دوشنبه 03 اسفند 1388, 11:01 صبح
strcommand="Select * from tbl1 where Name like '%" + textbox1.Text + "%'";

M.YasPro
دوشنبه 03 اسفند 1388, 13:35 عصر
strcommand="Select * from tbl1 where Name like '%" + textbox1.Text + "%'";

برای اینکه فیلد هایی استخراج بشن که با textbox.text شروع بشن به % اولی احتیاجی نیست
این دستور فیلد هایی رو که شامل textbox.text میشن(چه ابتدا چه انتها و چه وسط) رو استخراج میکنه

mahtab_m
دوشنبه 03 اسفند 1388, 18:56 عصر
برای این کار باید ار dataview استفاده کنی.





dataView1.RowFilter = "";
if (txt1.Text.Trim().Length == 0)
dataView1.RowFilter = "";
else
dataView1.RowFilter = "Name like '%" + txt1.Text + "%'";



به جای name نام فیلد مورد نظر در جدول رو قرار بده

Warrior
دوشنبه 03 اسفند 1388, 21:05 عصر
دوستان, DataView داخل قسمت Data نیست...
این DataView چیست و کجاست؟

mahtab_m
دوشنبه 03 اسفند 1388, 21:13 عصر
در قسمت toolbox راست کلیک کن و choos items رو انتخاب کن. بعد داخل پنجره ای که باز میشه dataview رو انتخاب کن

hajizahiry
شنبه 08 اسفند 1388, 14:58 عصر
دوست عزیز چون حرف فارسی 'ک' و 'ی' به دو صورت ممکن است ذخیره شود (ی و ي)
به خاطر این این کد برای ی و ک به درستی کار نمی کند

In_Chan_Nafar
شنبه 08 اسفند 1388, 21:44 عصر
از TextBox مايكروسافت Inheritance‌ كن و متد زير را به آن اضافه كن هر موقع خواستي متن TextBox را بگيري و در DB ذخيره كني و يا مقايسه اي انجام بدي از اين متد استفاده كن
public static string FixPersianString(string text) {

if (text == null)
return null;

text = text.Replace("\u0660", "\u06F0"); // ۰
text = text.Replace("\u0661", "\u06F1"); // ۱
text = text.Replace("\u0662", "\u06F2"); // ۲
text = text.Replace("\u0663", "\u06F3"); // ۳
text = text.Replace("\u0664", "\u06F4"); // ۴
text = text.Replace("\u0665", "\u06F5"); // ۵
text = text.Replace("\u0666", "\u06F6"); // ۶
text = text.Replace("\u0667", "\u06F7"); // ۷
text = text.Replace("\u0668", "\u06F8"); // ۸
text = text.Replace("\u0669", "\u06F9"); // ۹
text = text.Replace("\u0643", "\u06A9"); // ک
text = text.Replace("\u0649", "\u06CC"); // ی
text = text.Replace("\u064A", "\u06CC"); // ی
text = text.Replace("\u06C0", "\u0647\u0654"); // هٔ

return text;
}

slashslash2009
شنبه 08 اسفند 1388, 23:02 عصر
اگر بخوای از پارامتر استفاده کنی :

"Select * from tblname where name like '%'+@nm+'%'"