PDA

View Full Version : سوال: جستجوی پویا



shahab.es
جمعه 07 فروردین 1394, 02:08 صبح
سلام خدمت تمام دوستان
من میخوام یک کوئری بسازم که وقتی متنی رو در تکست باکس تایپ میکنم،دیتا گرید ویو بر اساس متن تایپ شده فیلتر شه
مشکلم اینه که نمیتونم بر اساس چند پارامتر جستجو کنم
مثلا باید یه تکست باکس بذارم برای جستجو از طریق کد
یه تکست باکس برای نام و مثلا یه تکست باکس برای موبایل
میخواستم بدونم راهی هست که من فقط یه تکست باکس بذارم و به شکی کار کنم که جستجو از طریق شماره موبایل و نام و کد باشه
ممنون میشک دوستان کمک کنن

mandanim
جمعه 07 فروردین 1394, 02:13 صبح
می تونی این کار رو به راحتی با یک or و like انجام بدی
هر چند تا فیلد که دوست داشتی

shahab.es
جمعه 07 فروردین 1394, 02:19 صبح
خوب این درسته
من لایک رو استفاده میکنم
اما فقط میتونم بر اساس یک مورد در هر تکست باکس جستجو کنم(مثلا نام)
میخوام در یک تکست باکس تمام موارد رو بشه جستجو کرد

ravaei
جمعه 07 فروردین 1394, 03:13 صبح
سلام خدمت تمام دوستان
من میخوام یک کوئری بسازم که وقتی متنی رو در تکست باکس تایپ میکنم،دیتا گرید ویو بر اساس متن تایپ شده فیلتر شه
مشکلم اینه که نمیتونم بر اساس چند پارامتر جستجو کنم
مثلا باید یه تکست باکس بذارم برای جستجو از طریق کد
یه تکست باکس برای نام و مثلا یه تکست باکس برای موبایل
میخواستم بدونم راهی هست که من فقط یه تکست باکس بذارم و به شکی کار کنم که جستجو از طریق شماره موبایل و نام و کد باشه
ممنون میشک دوستان کمک کنن


درود ... واسه این که گرید رو نسبت به چند تا فیلد فیلتر کنی می تونی از همچین دستوری استفاده کنی ...




where FIELD1 like '%value21%'
or FIELD2 like '%value22%'
or FIELD3 like '%value23%'




ولی از combobox استفاده کنی بهتره ... این طور که کاربر انتخاب کنه که بر حسب چی می خواد فیلتر کنه .

موفق باشی

(3rr0r)
جمعه 07 فروردین 1394, 10:35 صبح
من کاری که میکنم اینه که میام متن توی txt رو چک میکنم
مثلا اگر عدد بود جستجوم رو بر اساس اعداد (حالا یا id یا هر چیز دیگه) اگر حروف نوشته بود جستجوم رو بر اساس نوشته ها انجام میدم
بنظرم همون اول تفکیک کنی که کاربر چی وارد کرده خیلی راحت میتونی جستجو انجام بدی

shahab.es
جمعه 07 فروردین 1394, 13:06 عصر
درود ... واسه این که گرید رو نسبت به چند تا فیلد فیلتر کنی می تونی از همچین دستوری استفاده کنی ...




where FIELD1 like '%value21%'
or FIELD2 like '%value22%'
or FIELD3 like '%value23%'




ولی از combobox استفاده کنی بهتره ... این طور که کاربر انتخاب کنه که بر حسب چی می خواد فیلتر کنه .

موفق باشی

ممنون از راهنمایی دقیقت
کمبو باکس فکر خوبیه
مشکلم تو نوشتن همین دستور بود
بازم ممنون از راهنماییتون

shahab.es
جمعه 07 فروردین 1394, 13:07 عصر
من کاری که میکنم اینه که میام متن توی txt رو چک میکنم
مثلا اگر عدد بود جستجوم رو بر اساس اعداد (حالا یا id یا هر چیز دیگه) اگر حروف نوشته بود جستجوم رو بر اساس نوشته ها انجام میدم
بنظرم همون اول تفکیک کنی که کاربر چی وارد کرده خیلی راحت میتونی جستجو انجام بدی

از توجه و راهنماییت ممنون
حتما استفاده میکنم

hamid_hr
شنبه 08 فروردین 1394, 11:33 صبح
http://barnamenevis.org/showthread.php?64210-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%88%DA%86%DA%A9-%D9%88-%D9%85%D9%81%D9%8A%D8%AF-%D8%AF%D8%B1-%D8%B3%D9%8A-%D8%B4%D8%A7%D8%B1%D9%BE&p=1886246&viewfull=1#post1886246
اینو ببینین

ghasem110deh
شنبه 08 فروردین 1394, 19:13 عصر
سلام
اینکه چه روشی بهتره ، باس حرفه ای ترا بگن ...
اما من خودم از پروسیجر استفاده کردم ، بدون هیچ مشکلی هم کار میکنی و هر چندتا پارامتر هم که لازم داشته باشی میتونی بش بدی !
.
.
.
تو امضام پروژه هستش ... فرم جستجوش با همین روشه !

http://s6.picofile.com/file/8174697118/search_with_SP.png

aidivandi
یک شنبه 09 فروردین 1394, 10:42 صبح
می تونی در رویداد textchange هرکدوم از تکست باکسها مقدار بقیه تکست باکسها رو هم چک کنی که اگر مقدار اونا خالی نبود جستجو رو براساس بقیه هم انجام بده.مثال:


FieldSearch = "Nam LIKE('" + textBox1.Text.Trim() + "%')";
if (textBox2.Text.Trim() != "")
{
FieldSearch += "AND Famil LIKE('" + textBox2.Text.Trim() + "%') ";
}
if (textBox3.Text.Trim() != "")
{
FieldSearch += "AND fathername LIKE('" + textBox3.Text.Trim() + "%') ";
}



و الی اخر. در ضمن متغیر fieldsearch از نوع رشته است

Aqeel95
دوشنبه 10 فروردین 1394, 19:06 عصر
درود ...

ولی از combobox استفاده کنی بهتره ... این طور که کاربر انتخاب کنه که بر حسب چی می خواد فیلتر کنه .

موفق باشی

استفاده از combobox!!!!!!
من همین روش رو میخوام استفاده کنم ولی کدش چجوری میشه؟این که نوشتم غلطه ولی منتظر راهماییتونم:





if (Txt_All.Text.Trim() != "")
sqlcom.CommandText += "and '"Com_All.Text"' like '%" + Txt_All.Text + "%'";

j_naroogha@yahoo.com
سه شنبه 11 فروردین 1394, 12:31 عصر
استفاده از combobox!!!!!!
من همین روش رو میخوام استفاده کنم ولی کدش چجوری میشه؟این که نوشتم غلطه ولی منتظر راهماییتونم:





if (Txt_All.Text.Trim() != "")
sqlcom.CommandText += "and '" & Com_All.Text & "' like '%" & Txt_All.Text + "%'";



برا رشته ها از & استفاده کنین.

Aqeel95
سه شنبه 11 فروردین 1394, 12:58 عصر
برا رشته ها از & استفاده کنین.

مچکرم ولی این error رو میده:
129912

Aqeel95
چهارشنبه 12 فروردین 1394, 13:09 عصر
همچنان منتظر راهنمایی اساتید هستم:لبخندساده::متفکر::گریه:

ravaei
چهارشنبه 12 فروردین 1394, 13:40 عصر
همچنان منتظر راهنمایی اساتید هستم:لبخندساده::متفکر::گریه:

درود ...

کدتون رو به شکل زیر تغییر بدید : (همون +)




if (comboBox1.Text.Trim() != null)
{
sqlcom.CommandText += "and '" + Com_All.Text + "' like '%" + Txt_All.Text + "%'";
}

Aqeel95
چهارشنبه 12 فروردین 1394, 14:06 عصر
درود ...

کدتون رو به شکل زیر تغییر بدید : (همون +)




if (comboBox1.Text.Trim() != null)
{
sqlcom.CommandText += "and '" + Com_All.Text + "' like '%" + Txt_All.Text + "%'";
}


سلام
دوست عزیز کد error نمیده و درست شد ولی چیزی برنمیگردونه
توی شرط ، combobox1 که گذاشتید رو به همون Com_All که اسم comboboxمه تغییر دادم اما مقداری که توی Txt_All مینویسم رو برنمیگردونه!!!!!

khokhan
چهارشنبه 12 فروردین 1394, 15:33 عصر
شاید به همراه کمبوباکس یه سویچ هم به کار برده شود ...... و نیاز به چند شرط در کوئری از بین بره .....:متفکر:


string query = null;
string selectedItem = null;
switch (Indx)
{
case 0:
selectedItem = "kala_name";
break;
case 1:
selectedItem = "price";
break;
case 2:
selectedItem = "payment";
break;
case 3:
selectedItem = "faktor_num";
break;

}
query = "SELECT * FROM zirna WHERE " + selectedItem + " LIKE N'" + searchtxt.ToString() + "%';";
var connection = new SqlConnection(constring);
connection.Open();
SqlCommand command = new SqlCommand(query, connection);
SqlDataReader reader = command.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(reader);

FastCode
یک شنبه 16 فروردین 1394, 10:50 صبح
sqlinjection (http://en.wikipedia.org/wiki/SQL_injection) ftw

http://cdn.oreillystatic.com/en/assets/1/event/36/SQL%20Injection%20Myths%20and%20Fallacies%20Presen tation.pdf