نمایش نتایج 1 تا 11 از 11

نام تاپیک: این دستور فیلتر رو چطور بنویسم :

  1. #1
    کاربر دائمی آواتار User-os
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران/مشهد
    پست
    113

    Arrow این دستور فیلتر رو چطور بنویسم :

    سلام دوستان این دستور فیلتر رو چطور بنویسم :
    انتخاب کن اسامی رو که برابر با مقدار texbox1 هست به طوری که تاریخ بین دو زمان مورد نظر date1 و date2 باشد

  2. #2
    کاربر دائمی آواتار Zaparo
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    this->this
    پست
    116

    نقل قول: این دستور فیلتر رو چطور بنویسم :

    من تو یه پروژه از این استفاده کردم خودم معتقدم بهینه نیست :D
    ولی خوب چون کاره ما Force بود باید سریع جمش میکردیم منم وقت زیادی نداشتم هر دمبیل شد


    private string GenerateSQL()
    {
    int lower_limit = Convert.ToInt32(this.integerInput1.Value);
    int upper_limit = Convert.ToInt32(this.integerInput2.Value);
    int type_id = Convert.ToInt32(this.TypeIdCmb.SelectedValue.ToStr ing());
    StringBuilder sb = new StringBuilder();
    StringBuilder sbWhere = new StringBuilder();
    sb.Append("SELECT * FROM TransactionLog ");
    //sb.Append("WHERE (");
    sbWhere.Append(this.integerInput1.Value.ToString() + " < ");
    sbWhere.Append("impure_weight_in");
    sbWhere.Append(") AND (");
    sbWhere.Append("impure_weight_in");
    sbWhere.Append(" < " + this.integerInput2.Value.ToString());
    sbWhere.Append(") AND (");
    sbWhere.Append(this.integerInput1.Value.ToString() + " < ");
    sbWhere.Append("pure_weight_in");
    sbWhere.Append(") AND (");
    sbWhere.Append("pure_weight_in");
    sbWhere.Append(" < " + this.integerInput2.Value.ToString());
    sbWhere.Append(") AND (");
    sbWhere.Append(this.integerInput1.Value.ToString() + " < ");
    sbWhere.Append("impure_weight_out");
    sbWhere.Append(") AND (");
    sbWhere.Append("impure_weight_out");
    sbWhere.Append(" < " + this.integerInput2.Value.ToString());
    sbWhere.Append(") AND (");
    sbWhere.Append(this.integerInput1.Value.ToString() + " < ");
    sbWhere.Append("pure_weight_out");
    sbWhere.Append(") AND (");
    sbWhere.Append("pure_weight_out");
    sbWhere.Append(" < " + this.integerInput2.Value.ToString());
    sbWhere.Append(") AND (type_id = ");
    sbWhere.Append(type_id.ToString());
    if (first_comionet_in_dateDateTimePicker.Enabled == true)
    {
    sbWhere.Append(") AND ('");
    sbWhere.Append(this.DateToString(this.first_comion et_in_dateDateTimePicker.SelectedDateTime) + "' < ");
    sbWhere.Append(" first_comionet_in_date ");
    }
    if (last_comionet_in_dateDateTimePicker.Enabled == true)
    {
    sbWhere.Append(") AND ('");
    sbWhere.Append(this.DateToString(this.first_comion et_in_dateDateTimePicker.SelectedDateTime) + "' < ");
    sbWhere.Append(" last_comionet_in_date ");
    }
    if (first_comionet_out_dateDateTimePicker.Enabled == true)
    {
    sbWhere.Append(") AND (");
    sbWhere.Append(" first_comionet_out_date < '");
    sbWhere.Append(this.DateToString(this.first_comion et_in_dateDateTimePicker.SelectedDateTime));
    sbWhere.Append("'");
    }
    if (last_comionet_out_dateDateTimePicker.Enabled == true)
    {
    sbWhere.Append(") AND (");
    sbWhere.Append(" last_comionet_in_date < '");
    sbWhere.Append(this.DateToString(this.first_comion et_in_dateDateTimePicker.SelectedDateTime));
    sbWhere.Append("'");
    }
    if (this.textBox1.Text != string.Empty)
    {
    sbWhere.Append(") AND (");
    sbWhere.Append("letter_reg_no ='");
    sbWhere.Append(this.textBox1.Text);
    sbWhere.Append("'");
    }
    if (this.textBox2.Text != string.Empty)
    {
    sbWhere.Append(") AND (");
    sbWhere.Append("last_letter_no ='");
    sbWhere.Append(this.textBox2.Text);
    sbWhere.Append("'");
    }
    sbWhere.Append(")");
    if (sbWhere.Length != 0 && sbWhere.ToString() != string.Empty)
    {
    sb.Append(" WHERE (");
    sb.Append(sbWhere.ToString());
    }
    return sb.ToString();
    }

  3. #3
    کاربر دائمی آواتار bachebahal_1363
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    اینترنت
    پست
    336

    نقل قول: این دستور فیلتر رو چطور بنویسم :

    از Quary زیر استفاده کن :

    SELECT * FROM TableName Where FiledName = textBox1 BETWEEN date1 AND date2

  4. #4
    کاربر دائمی آواتار User-os
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران/مشهد
    پست
    113

    نقل قول: این دستور فیلتر رو چطور بنویسم :

    من چون میخوام این فیلتر رو توی textchanged بنویسم با این select جواب نداد

  5. #5
    کاربر دائمی آواتار User-os
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران/مشهد
    پست
    113

    نقل قول: این دستور فیلتر رو چطور بنویسم :

    من فیلتر رو با دو شرط اینطوری مینویسم اما با سه شرط جواب نمیده راهنماییم کنیید!!!
      string filterStr = string.Format("shomare LIKE '%{0}%' AND tarikh LIKE '%{1}%'", textBox1.Text, year+"/00/00");
    moshBindingSource2.Filter = filterStr;

  6. #6
    کاربر دائمی آواتار User-os
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران/مشهد
    پست
    113

    نقل قول: این دستور فیلتر رو چطور بنویسم :

    من خيلي به اين دستور نياز دارم

  7. #7
    کاربر دائمی آواتار User-os
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران/مشهد
    پست
    113

    نقل قول: این دستور فیلتر رو چطور بنویسم :

    واقعا اینقدر سقخته

  8. #8
    کاربر دائمی آواتار bsng110
    تاریخ عضویت
    آبان 1386
    محل زندگی
    اصفهان
    سن
    36
    پست
    104

    نقل قول: این دستور فیلتر رو چطور بنویسم :

    نقل قول نوشته شده توسط User-os مشاهده تاپیک
    من فیلتر رو با دو شرط اینطوری مینویسم اما با سه شرط جواب نمیده راهنماییم کنیید!!!
      string filterStr = string.Format("shomare LIKE '%{0}%' AND tarikh LIKE '%{1}%'", textBox1.Text, year+"/00/00");
    moshBindingSource2.Filter = filterStr;
    هوالحکیم
    سلام.
    اگه اشتباه نکنم باید به این صورت بنویسی:

    string strFilter = string.Format("shomare like '*{0}*' and tarikh >= {1} and tarikh <= {2}", textBox1.Text, firstYear, lastYear);

    امیداورم که کار بده.
    یا علی
    حق نگهدارتون

  9. #9
    کاربر دائمی آواتار User-os
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران/مشهد
    پست
    113

    نقل قول: این دستور فیلتر رو چطور بنویسم :

    ممنون جناب bsng110 .
    من هم نظر شما رو داشتم اما به این صورت جواب نمیده!! 3 تایی شرطا رو قبول نمیکنه.

  10. #10
    کاربر دائمی آواتار User-os
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران/مشهد
    پست
    113

    نقل قول: این دستور فیلتر رو چطور بنویسم :

    من اصل ماجرا رو دوستان توضیح بدم .من با ورود به فرمم اطلاعات دیتا گرید رو با سالی که در فرم قبل تنظیم شده فیلتر میکنم
    حالا یه تکست باکس دارم تو همین فرمم که وقتی توش تایپ میشه باید فلان اسم رو که داره نوشته میشه پیدا کنه .که خوب با فیلتر معمولی میشه اما چون باید شرط اینکه اون اسم در بین فقط اطلاعات سالی که قبلا مشخص شده باشه نمیدونم چطور اینکار رو بکنم

    هم اسم رو بیاره هم حواسش باشه که این اسم از توی اطلاعات سالای دیگه نباشه !!

    نمیدونم اگه میشد همون فیلتر اولیه دیتاگرید رو بر اساس سال حفظ کرد و روی اون یه فیلتر بااسم گذاشت حل میشه اما فکر نمیکنم همچین چیزی باشه ؟؟؟؟؟؟؟

  11. #11

    نقل قول: این دستور فیلتر رو چطور بنویسم :

    دستور روبه رو که قبل هم دوستان به آن اشاره کرده اند من دراکثر برنامه های مشابه استفاده کرده و نتیجه گرفته ام :
    select * from TableName where SHOMARE like %textBox1.Text% and DATE between date1 and date2
    دستورمذکور یک دستور استانداردو تست شده است که باید جواب دهد. درغیر این صورت می توانید از دستور طولانی تر زیر که البته غیربهینه نیز است استفاده کنید :

    select * from TableName where TableID IN ( select TableID from TableName where date Between DATA1 AND DATE2 ) where shomare like TextBox1.text

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •