PDA

View Full Version : کمک جستجو text box



f montazeri
دوشنبه 27 اردیبهشت 1389, 22:05 عصر
:متفکر:سلام من اگه دو تا txtboxداشتم و خواستم search دو تا را پشت دکمه ای بنویسم باید چه کدی بنویسم ؟؟یعنی هر دو تا یا یکی از txtbox را پر کردم و دکمه رازدم جستجو را در datagride نمایش دهم؟؟

behnam25214
دوشنبه 27 اردیبهشت 1389, 22:30 عصر
حالا مشکلت تو شرط گذاشتن هست یا جستجو از پایگاه داده؟

mmd2009
سه شنبه 28 اردیبهشت 1389, 01:25 صبح
اگه منطورتون اینه که می خواهید جستجو براساس توتا textbox باشه باید از دستور زیر استفاده کنید




select*from name_jadval where name_field='" + textbox1.text.trim() + "' or '" + textbox2.text.trim"'";

hojjatshariffam
سه شنبه 28 اردیبهشت 1389, 02:39 صبح
اگه منطورتون اینه که می خواهید جستجو براساس توتا textbox باشه باید از دستور زیر استفاده کنید




select*from name_jadval where name_field='" + textbox1.text.trim() + "' or '" + textbox2.text.trim"'";






در اینصورت اگه یکیشون خالی شد دستور به صورت زیر در میاد:



select*from name_jadval where name_field=' abc ' or name_field=' '
که در این صورت رکورد های خالی رو هم اضافه می کنه

می تونی اول تکت باکس ها رو چک کنی که کدومشون خالی و پر باشه بعدا گوئری تو درست کنی
یا اینکه یک کوئری کاملا پویا بنویسی که اگه به تعداد ده بیست تا تکست باکس هم داشته باشی ، بازم جواب بده
مثلا به این قطعه کد توجه کن:



SQL_STR="select*from name_jadval where(";
if(txt1.text!="")
SQL_STR+=" name_field=' "+txt1.text+" ' or ";
if(txt2.text!="")
SQL_STR+=" name_field=' "+txt2.text+" ' or ";
if(txt3.text!="")
SQL_STR+=" name_field=' "+txt3.text+" '";
SQL_STR=+")";

ضمنا می تونی Or یا AND استفاده کنی
ضمنا قبلش باید چک کنی که حداقل یکی از تکست باکس ها پر بشه (اگه هیچ کدوم پر نباشه پس Where هم باید پاک بشه)
AND و OR رو هم می تونی تو یه کامبو باکس بزاری که کاربر انتخاب کنه

f montazeri
سه شنبه 28 اردیبهشت 1389, 20:16 عصر
من این کد را داخلVISUAL نوشتم ولی هیچ عکس العملی نشان نمیدهد نمیدونم چرا خطط هم نمیدهد


SqlConnection con = new SqlConnection();
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\DBPBOOK.mdf;Integrated Security=True;User Instance=True";
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
string sql = "select * from pprodact where ptopic like '{0}%' or pwriter like '{1}%'";
sql = string.Format(sql, tbxtopic.Text, tbxwriter.Text);
cmd.CommandText = sql;
da.SelectCommand = cmd;
da.Fill(dt);
dgvp.DataSource = dt;