PDA

View Full Version : جستجو همزمان بين 3تا TEXTBOX



f montazeri
سه شنبه 18 مرداد 1390, 16:34 عصر
سلام دوستان من 3 تا TEXTBOX دارم كه مي خواهم بين اين 3 تا TEXTBOX از يك جدول يك جستجو انجام دهد
من نوشتم
DT=DB.SELECTCMD ("SELECT * NAME,MOALEF,MOTARJEM FROM BOOK NAME LIKE N'{0}' OR MOALEF N'{1}' OR MOATRJEM N'{2}' ")
,و بعدم sTRING .FORMAT مي نويسم كه برود از ااونها بخواند اما هيچكاري انجام نميدهد من جستجو كردم ولي پيدا نكردم لطفا كمك كنيد و تايپيك را پاك نكينيد

hashemi85sep
سه شنبه 18 مرداد 1390, 16:53 عصر
سلام دوست عزیز
میخوای سه تا شرط برقرار باشه یا اینکه فقط اگه یکی هم برقرار بود جستجو کنه ؟
در ضمن * بعد از from رو هم بردار...

hjran abdpor
سه شنبه 18 مرداد 1390, 17:32 عصر
از عملگر And استفاده کنید البته اگه مقدار مورد نظر باید حتما بین 3 فیلد وجوداشته باشد در غیر اینصورت or

Javad.Kashi
سه شنبه 18 مرداد 1390, 18:22 عصر
سلام
به نظر حقیر از عملگر Between استفاده کنید.

یا علی

Saman Hashemi
سه شنبه 18 مرداد 1390, 21:15 عصر
SELECT * NAME,MOALEF,MOTARJEM FROM BOOK NAME LIKE N'{0}' OR MOALEF N'{1}' OR MOATRJEM N'{2
این دستور ...! مطمئنی ازت ارور نمیگیره

LIKE N'{0}'
Like '%'value'%'

MOALEF N'{1}'
field= value

f montazeri
سه شنبه 18 مرداد 1390, 23:26 عصر
ُسلام دوستان ممنون از جواباتون من مي خواهم اگه يكي از اونها را پر كردم جستجو كند اگر هر سه رو هم وارد كردم جستجو كند مي دونم بايد or كنم ولي نه خطا ميده نه جستجو مي كند من پشت دكمه اين Select زدم و بعد Dt را در grideview ريختم ولي كاري انجام نميده ميشه بگين چيكار كنم
؟؟ در ضمن بابت دوستمون من اينطوري هم نوشتم like را ولي بازم جواب نداد :like N '%{0}%'
نميدونم چيكار كنم من پشت دكمه جستجو نوشتم .من بايد چيكار كنم

f montazeri
چهارشنبه 19 مرداد 1390, 10:54 صبح
دوستان لطفا كمك كنيد.فقط جستجو بين 3 تاtextbox هست حتي وقتي يكي از text box ها پر كنم مي خواهم جستجو بهم بده

ASPX
چهارشنبه 19 مرداد 1390, 13:11 عصر
دوست عزیز از این توابع استفاده کن


private string MakeSearch()
{
string query = "select * from table ";
string query_where = string.Empty;

query_where += search(TextBox1, "name", "and");// " or"
query_where += search(TextBox2, "family", "and");
query_where += search(TextBox3, "name2", "and");

query_where = (query_where == string.Empty ? "" : "where" + query_where);
query_where = (query_where == string.Empty ? "" : query_where.Substring(0,query_where.Length-3));

return query + query_where;
}
private string search(TextBox txt, string Filed,string Operator)
{

string sql = string.Empty;
if (txt.Text != string.Empty)
{
sql = " " + Filed + " like N'%" + txt.Text + "%' " + Operator;
}

return sql;

}


این تابع کوئری مربوطه را میسازد و میتونی هر جا خاستی هم از and و هم از or استفاد کنی فقط یادت باشه که اگه از or استفاده کردی قبلش یک space بذاری . در ضمن هر چند تا خواستی textbox بذار محدودیتی نداره
برای فراخوانی هم فقط MakeSearch(); را صدا بزن خروجی اش کوئری شماست