-
تعيين بهترين حالت جستجو براي چند پارامتر
سلام
در فرمي براي جستجو 5 پارامتر دارم و مي خواهم جستجو طوري باشد كه كاربر بتواند به طريقه هاي زير جستجو كند :
يا فقط يكي از پارامترها را وارد كند
يا تمام اين پارامترها را وارد كند
يا دو، سه يا چهار
بطور خلاصه كاربر هر يك از پارامترها را وارد كرد خروجي داشته باشد اما خرجي صحيح .
دوستان لطف كنيد راهنمايي كنيد تا بهترين حالت جستجو را تعيين كنم
-
نقل قول: تعیین بهترین حالت جستجو برای چند پارامتر
شما میتونی بر اساس مقادیر وارد شده توسط کاربر دستور SELECT رو بسازی و قسمت WHERE رو با هم AND کنی.
مثلاً فرض کنیم که شما فیلد های : FirstName , LastName , Address رو داشته باشی و 3 تا TextBox برای گرفتن اطلاعات داشته باشی حالا میتونی چک کنی که هرکدوم از اینها مقدار داشت ,برای اون فیلد شرط رو به Select اضافه کنی :
چیزی شبیه به این :
int intParameterCounter =0;
String strSql = "Select * from Tbl1";
if(txtFirstName.Text.Lenght() >0 || txtLastName.Text.lenght() >0 ||txtAddress.Text.lenght() >0)
strSql+="Where ";
if(!String.IsNullOrEmpty(txtFirstName.Text))
{
if(intParameterCounter>0)
strSql+="And ";
strSql+="FirstName = "+txtFirstName.text;
intParameterCounter++;
}
if(!String.IsNullOrEmpty(txtLastName.Text))
{
if(intParameterCounter>0)
strSql+="And ";
strSql+="LastName = "+txtLastName.text;
intParameterCounter++;
}
if(!String.IsNullOrEmpty(txtAddress.Text))
{
if(intParameterCounter>0)
strSql+="And ";
strSql+="Address = "+txtLAddress.text;
intParameterCounter++;
}
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
intParameterCounter
براي چيه چه معني داره كه تعداد پارامترها را بشماريم
دوست عزيز اگر امكانش هست بيشتر توضيح بدين اگر هم كد دارين آپلود كنيد
باتشكر
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
دوست عزیز ،شما در نهایت باید یک دستور Select داشته باشی که شامل پارامتر های مورد نظرت باشه. دیگه روش ساخت این Select بسته به سلیقه خودت میتونه به هر شکلی پیاده سازی بشه.
اما در مورد "intParameterCounter" , اگر بدون شمارش تعداد پارامتر ها گزینه "And" رو به Select اضافه کنید رشته مناسبی بدست نمیاد.برای همین با استفاده از یک شمارنده میتونید در صورت نیاز And رو اضافه کنید.
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
if (!(txtid.Text == "") || !(txtonvan.Text == ""))
{
sqlselect = "select * from serinamayeshgah where id='" + txtid.Text + "' or onvan like'%"+txtonvan.Text+"%'";
اين كد را براي دو پارامتر نوشتم ، اگر كاربر هر دو پارامتر را وارد كرده باشد خروجي درست مي دهد ، اگر عنوان را به تنهايي وارد كند باز هم در ست خروجي مي دهد ولي اگر به تنهايي كد را وارد كند خروجي درست نمي دهد و كل اطلاعات جدول چاپ مي شود ضمنا فيلد كد از نوع int ميباشد
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
if (!(txtid.Text == "") || !(txtonvan.Text == ""))
{
sqlselect = "select * from serinamayeshgah where id='" + txtid.Text + "' or onvan like'%"+txtonvan.Text+"%'";
اين كد را براي دو پارامتر نوشتم ، اگر كاربر هر دو پارامتر را وارد كرده باشد خروجي درست مي دهد ، اگر عنوان را به تنهايي وارد كند باز هم در ست خروجي مي دهد ولي اگر به تنهايي كد را وارد كند خروجي درست نمي دهد و كل اطلاعات جدول چاپ مي شود ضمنا فيلد كد از نوع int ميباشد
-
نقل قول: تعیین بهترین حالت جستجو برای چند پارامتر
نقل قول:
نوشته شده توسط
csharpprogramer88
سلام
در فرمی برای جستجو 5 پارامتر دارم و می خواهم جستجو طوری باشد که کاربر بتواند به طریقه های زیر جستجو کند :
یا فقط یکی از پارامترها را وارد کند
یا تمام این پارامترها را وارد کند
یا دو، سه یا چهار
بطور خلاصه کاربر هر یک از پارامترها را وارد کرد خروجی داشته باشد اما خرجی صحیح .
دوستان لطف کنید راهنمایی کنید تا بهترین حالت جستجو را تعیین کنم
http://www.sommarskog.se/dyn-search-...l#introduction
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
دوستان من برنامه نويسيم زياد خوب نيست خواهشا كمك كنين
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
آقا تورو خدا اگه يكي نمونه داره رو كنه فوريه
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
روشی که آقای shahab_ss گفتن روش خوبیه.میتونی این روش رو هم امتحان کنی
string conditions = "";
string selcommand = "Select * from Tablename";
if (txt1.Text.Trim() != string.Empty)
conditions = " field1=" + txt1.Text.Trim();
if (txt2.Text.Trim() != string.Empty)
{
if (conditions == string.Empty)
conditions = " field2=" + txt2.Text.Trim();
else
conditions += " And field2=" + txt2.Text.Trim();
}
...
if (conditions == string.Empty) selcommand+=" WHERE "+conditions;
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
سلام
كدي كه خودم نوشتم با 4 تا پارامتر خوب كار مي كنه و خروجي هم درسته حالا اگر يكي از پارامترها حذف شود همه اطلاعات جدول چاپ مي شود در صورتيكه هيچكدام از مقادير جدول null نيستند اگر يكي از پارامترها كاراكتري باشد كه در آن فيلد وجود نداشته باشد هم خروجي درست است .
من ميخوام طوري باشه كه اگر كاربر همه را وارد كرد خروجي درست بدهد اگر يكي را هم وارد كرد جستجو براساس آن پارامتر باشد اگر دو يا سه تا جستجو براساس آن دو يا سه پارامتر باشد
دوستان خواهشا كمك كنيد فوريه
if (!(txtcode.Text == "")||!(cmbjensiat.Text=="")||!(cmbmadrak.Text=="") ||!(cmbcity.Text=="")||!(cmbcity.Text==""))
{
sqlselect = "select * from webloger where id='" + txtcode.Text + "' or jensiat like'%" + cmbjensiat.Text + "%' or madrak like'%"+cmbmadrak.Text+"%' or city='"+cmbcity.Text+"'";
weblog.weblog_report frm = new weblog_report();
frm.Show();
}
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
دوست عزیز منم تو برنامه ای که دارم مینویسم به این مشکل بر خوردم مشکل خودم رو اینجوری حل کردم کدش رو برات میذارم خیلی ساده و قابل فهمه
string Search="";
if(chk_Oid.Checked)
if (Search=="")
Search = Search+" oid='" + txt_Oid.Text + "'";
else
Search = Search + "and oid='" + txt_Oid.Text + "'";
if(chk_SaleLandedType.Checked)
if (Search=="")
Search = Search + " type1='" + cmbType1.SelectedIndex + "'and type2='" + cmbType2.SelectedIndex + "'";
else
Search = Search + "and type1='" + cmbType1.SelectedIndex + "'and type2='" + cmbType2.SelectedIndex + "'";
if(chk_Price.Checked)
if (Search == "")
Search=Search+" price='"+txt_Price.Text+"'";
else
Search = Search + "and price='" + txt_Price.Text + "'";
if(chk_Area.Checked)
if (Search == "")
Search = Search + " area='" + txt_Area.Text + "'";
else
Search = Search + "and area='" + txt_Area.Text + "'";
if(chk_Room.Checked)
if (Search == "")
Search = Search + " room='" + txt_Room.Text + "'";
else
Search = Search + "and room='" + txt_Room.Text + "'";
objDataView.RowFilter = Search;
توجه داشته باش که من چندتا چک باکس گذاشتم که توسط اونها تکست باکسهان فعال یا غیر فعال میشن، این کد را باید تو دگمه جستجو قرار بدی البته این در صورتی است که جستجو رو توسط dataview و rowfilter انجام بدی
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
سلام دوستان,
می خواستم بدانم چطوری می توانم هــــــــــــــــــــر نوع اطلاعاتی را خواستم به صورت پویا جستجو کنم؟!
یعنی شاید من 10 textBox داشته باشم, 10 * 10 برابر 100 حالت مختلف می شود!!!
آیا باید برای تمامی این 100 حالت تک تک کد بنویسم؟!
راه بهتری وجود ندارد؟
ممنونم
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
نقل قول:
نوشته شده توسط
Warrior
سلام دوستان,
می خواستم بدانم چطوری می توانم هــــــــــــــــــــر نوع اطلاعاتی را خواستم به صورت پویا جستجو کنم؟!
یعنی شاید من 10 textBox داشته باشم, 10 * 10 برابر 100 حالت مختلف می شود!!!
آیا باید برای تمامی این 100 حالت تک تک کد بنویسم؟!
راه بهتری وجود ندارد؟
ممنونم
دوست عزيز سوال منم دقيقا همينه ولي با توضيحات دوستان متوجه نمي شم
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
آقا من متوجه شدم :خجالت:
داخل دانشگاه یک برنامه هم نوشتم که حتی حالت های OR و AND را هم می توان برایش انتخاب کرد یا حتی Like را.
فقط یک سوال.
دستورات دیگری که بشود آن ها را درود برنامه استفاده کرد مثل همین AND OR و Like چه چیز هایی هستند؟
برنامه خیلی توپ شد و استاد خیلی حال کرد :کف:
ممنونم
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
پس لطف كن يه پروژه درست و درمان براي منم بفرست تا از تجربه شما هم استفاده كنيم تازه توي اين تاپيك بچه ها مي تونن دانلود بكنن من اون كدي را كه گذاشتم جوابش را گرفتم در اون از and وor و like هم استفاده كردم ولي نظرم راجلب نكرد
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
متاسفانه برنامه روی کامپیوتر سایت دانشگاه نوشته شد و وقتی سیستم را برای کاری restart کردم متوجه شدم که تمامی تغییرات از بین رفته و انگار تازه Windows را با نرم افزار هایش نصب کرده اند!!!(DeepFreeze!!)
ولی از کد آخرین پست صفحه ی قبل استفاده کردم ولی کمی کامل ترش کردم.
-
1 ضمیمه
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
سلام دوستان
یه نگاه به برنامه زیر بنداز
اگه همونه که مد نظرته بگو تا کدشو بذارم
قسمت فیلترش 4-5 خط کد داره
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
نقل قول:
نوشته شده توسط
Jozef_1363
سلام دوستان
یه نگاه به برنامه زیر بنداز
اگه همونه که مد نظرته بگو تا کدشو بذارم
قسمت فیلترش 4-5 خط کد داره
دوست من تشكر از اينكه مثال فرستادي اما اين ظاهرا يك فايل اجرايي دلفي هست و من روسيستمم دلفي نصب نيست و هنگام اجرا استاديو به اون گير مي ده و اجرا نميشه تازه من دلفي بلد نيستم بالاخره زحمت كشيدي اگر كد سي شارپ داري بفرست يا لااقل بگو چطور اين فايل را روي سيستم خودم اجرا كنم
-
1 ضمیمه
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
این کد همون کاری که شما میخواین رو انجام میده
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
اوه اوه
شرمنده
حواسم نبود :خجالت:
منم عکس شما زیاد سی شارپ کار نکردم
آماده میکنم و براتون میفرستم
الان نمیتونم
-
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
دوست من تا جايي كه امكانش هست زرودتر با تشكر
-
2 ضمیمه
نقل قول: تعيين بهترين حالت جستجو براي چند پارامتر
سلام دوست عزیز
اون روشی که تو برنامه قبلی بود به این صورته که شما با وارد کردن عبارت رو تمام فیلدها
جستجو انجام میداد. به نوبه خودش روش خوبیه.
اما کل تاپیک رو خوندم و متوجه نیازتون شدم. یه قطعه کد دلفی و یه عکس از نمونه فرمم
گذاشتم. فکر کنم مشکلتون رو حل کنه.قسمت های اضافی رو حذف کردم.یه روش ساده و
خوب.
توضیح خواستین خبر بدین.
دوستانی که براشون مفید بود، یه تشکر بزنن روشن شیم.:چشمک::لبخند: