PDA

View Full Version : سوال: استفاده از Like در #C



daneshmand1
شنبه 15 مرداد 1390, 11:20 صبح
سلام
برنامه ي من يه فرم جستجو داره كه من مي خوام همه ركوردهاي كه fname آنها عبارتي شبيه به مقدار وارد شده در Textbox است رو نشون بدم چطوري اين كار رو انجام بدم؟ دستور زير توي SQL درست كار مي كنه ولي اين دستور توي #C چطوري بايد نوشته بشه؟
'%select * from tablename where fname Like '%aaa

morteza271
شنبه 15 مرداد 1390, 11:30 صبح
برای اینکه جستجوی شا با وارد شدن یک حرف انجام بشه باید کوئری زیر رو در رویداد TextChanged تکست باکستون اجرا کنید:
"select * from tablename where fname Like '%" + TextBox1.Text + "%'";
موفق باشید.

hosseinghk
شنبه 15 مرداد 1390, 11:32 صبح
یک string تعریف کن و اون رو توی آن قرار بده یا یک stored procedure براش بنویس.

mehrdad.h
شنبه 15 مرداد 1390, 11:36 صبح
با سلام
از کد زیر میتونی استفاده کنی:

private void textBox1_TextChanged(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection();
SqlCommand cmd = new SqlCommand();
SqlDataReader re = new SqlDataReader();
string constring = "Server=(local);database=DBName;Integrated Security=True";
string name_field;
BindingSource bs = new BindingSource();
cmd.CommandText = "SELECT *From tableName where name='" + textBox1.Text.Trim() + "' ";
re = cmd.ExecuteReader();
if (re.Read())
{

con.Close();
re.Close();
}
else
{

re.Close();
con.Close();
}





name_field = "name";
textBox1.Select();
if (textBox1.Text.Trim() != "")
{
bs.Filter = name_field + " like '%" + textBox1.Text.Trim() + "%'";


}
else
{
bs.Filter = "";
}
}

daneshmand1
یک شنبه 16 مرداد 1390, 09:58 صبح
از كد
"select * from tablename where fname Like '%" + TextBox1.Text + "%'"; استفاده كردم ولي اين دستور فقط براي جستجوي عبارت انگليسي كار مي كنه و براي مقادير فارسي كار نمي كنه؟

elena2007
یک شنبه 16 مرداد 1390, 10:33 صبح
از كد
"select * from tablename where fname Like '%" + TextBox1.Text + "%'"; استفاده كردم ولي اين دستور فقط براي جستجوي عبارت انگليسي كار مي كنه و براي مقادير فارسي كار نمي كنه؟


سلام دوست عزیز . اینطوری بنویس :


"select * from tablename where fname Like N '%" + TextBox1.Text + "%'";



کاراکتر N باعث میشه روی nvarchar که حروف فارسی هم شامل میشه ، دستور اعمال بشه .
راستی مطمئن بشید که وقتی پایگاه رو می ساختین نوع زبانی که انتخاب کردین Arabic بوده باشه .
اگه جواب نداد بازم در خدمتم . یه ندا بده
موفق باشی .

Esmail Solhkhah
یک شنبه 16 مرداد 1390, 23:36 عصر
سلام دوست عزیز . اینطوری بنویس :


"select * from tablename where fname Like N '%" + TextBox1.Text + "%'";



کاراکتر N باعث میشه روی nvarchar که حروف فارسی هم شامل میشه ، دستور اعمال بشه .
راستی مطمئن بشید که وقتی پایگاه رو می ساختین نوع زبانی که انتخاب کردین Arabic بوده باشه .
اگه جواب نداد بازم در خدمتم . یه ندا بده
موفق باشی .


دوست عزیز ممنون از اینکه جواب دوستان رو میدید

ولی یه لطفی بکنید کد هایی رو که میزارید اول سلکت کنید بعد از نوار ابزار از علامت # یا #C یا موارد دیگر استفاده کنید

تا کدتون تو پست خوانا باشه

موفق باشید.

daneshmand1
چهارشنبه 19 مرداد 1390, 09:26 صبح
دوست عزيز ممنون از راهنماييتون.