PDA

View Full Version : کد مربوط به جستجو



amin3271
یک شنبه 24 خرداد 1388, 13:24 عصر
در فرم جستجو برنامه ام 5 فیلد دارم که با آنها جستجو صورت میگیرد
کد مربوط به آن به چه صورت است.(به صورت جستجوی پویا باشد)
متشکرم

Reza_Yarahmadi
یک شنبه 24 خرداد 1388, 13:49 عصر
میتونی نوع جستجو (اسم فیلدهایی که جستجو بر اساس اونها انجام میشه) رو توی به کمبو باکس بریزی و از پارامتر استفاده کنی.


SqlCommand Cmd = new SqlCommand();
Cmd.Parameters.AddWithValue("@FieldName", comboBox1.Text);
Cmd.Parameters.AddWithValue("@FieldValue", textBox1.Text);
Cmd.CommandText = "Select * from Dic where @FieldName = @FieldValue";

amin3271
یک شنبه 24 خرداد 1388, 14:25 عصر
نمیخوام جسنجو ها جداگانه باشه مثلا بر اساس نام ونام خانوادگی و نام پدر و...صورت گیرد

Reza_Yarahmadi
یک شنبه 24 خرداد 1388, 14:50 عصر
Select * from TabeName where
(@FieldName1 = @FieldValue1) and
(@FieldName2 = @FieldValue2) and
(@FieldName3 = @FieldValue3) and
...
(@FieldNameI = @FieldValueI)






منظورتون از جستجوی پویا چیه؟

unique1984
یک شنبه 24 خرداد 1388, 19:05 عصر
منظورتون از جستجوی پویا چیه؟
من فکر میکنم منظورشون اینه که مثلا اگر در تکست مربوط به نام اطلاعات وارد شد جستجو بر اساس نام انجام بشه ، اگر در تکست مربوط به نام خانوادگی اطلاعات وارد کرد علاوه بر نام روی نام خانوادگی هم جستجو انجام بشه و...
کد زیر ممکنه بهتون کمک کنه. همونطور که میبینید رشته اس کیو الی رو خودمون ایجاد می کنیم که به نظر من اگر از استور پروسیجر و ارسال پارامتر به اون استفاده کنید خیلی بهتر و راحت تره.

string Fname,Lname,Father;

if (string.IsNullOrEmpty(txtName.Text)) Fname = "(tbl1.f_name Is Null Or tbl1.f_name Is Not Null)";
else Fname = "tbl1.f_name like N'%" + txtName.Text + "%' ";
if (string.IsNullOrEmpty(txtFamil.Text)) Lname = "(tbl1.l_name Is Null Or tbl1.l_name Is Not Null)";
else Lname = "tbl1.l_name like N'%" + txtFamil.Text + "%' ";
if (string.IsNullOrEmpty(txtFaather.Text)) Father = "(tbl1.Father Is Null Or tbl1.Father Is Not Null)";
else Father= "tbl1.Father = N'" + txtFather.Text + "' ";
.
.
.
string SqlStr =" select * from tbl1 where " + Fname + " AND " + Lname + " AND " +Father

seven7777777
دوشنبه 25 خرداد 1388, 02:51 صبح
دوست عزیز اینکار به راحتی با ساخت متن Query امکان پذیره و از اونجا که جستجوت بر اساس 5 فیلد بیشتر نیست ، خیلی راخت می تونی اینکار رو انجام بدی .

کافیه در یک سری If در هر مرحله یکی از موارد رو چک کنی که اگه دارای مقداری بود ، رشته Query بر طبق اون اضافه بشه .

اگه توش موندی بگو یه نمونه کوچیک بزارم .

amin3271
پنج شنبه 04 تیر 1388, 16:06 عصر
باتشکر از 7777777عزیز اگه میشه یه نمونه برام بذارین
ممن.نم

ali.asady
پنج شنبه 04 تیر 1388, 16:55 عصر
می تونی از فیلتر کردن binding source استفاده کنی



bindingSource1.Filter=string.Format("filed1",value1)
و برای پاک کردن فیلتر
bindingSource1.removeFilter()

46mahdi
پنج شنبه 15 مرداد 1388, 11:06 صبح
با سلام کد جستجو بر اساس بازه تاریخی 2 تبدیل تاریخ میلادی به شمسی را برایم بگویید

hozouri
پنج شنبه 15 مرداد 1388, 11:25 صبح
من ظورتون رو متوجه نشدم شما می خواهید شمسی رو به میلادی و ملادی رو به شمسی تبدیل نمایید ...