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

نام تاپیک: کوئری چند شرطی

  1. #1

    کوئری چند شرطی

    سلام دوستان و اساتید گرامی
    من در حال نوشتن یه برنامه هستم که حدود 1000 تا رکورد داره که هر رکورد شامل 9 علاقه مندی است و من می خواستم یه کوئری بنویسم که با انتخاب علاقه مندی های مختلف جستجو کنه .راه های زیادی رفتم ولی به نتیجه نرسیدم .
    لطفا کمک کنید
    این کد هایی که من نوشتم ولی جواب ندادن

    ALTER PROCEDURE dbo.serach_alaghe_mandi @barname_ghorani bit, 
    @mosighi bit,
    @taatr bit,
    @honar_tajasomi bit,
    @pajohesh_hay_farhangi_va_honari bit,
    @ketab bit,
    @kodak_va_nojavan bit,
    @resane_digital bit,
    @sheer_va_adabiyat bit
    AS
    select * from tbl_nazar_sanji where
    (barname_ghorani=@barname_ghorani or @barname_ghorani is null) and
    (mosighi=@mosighi or @mosighi is null) and
    (taatr=@taatr or @taatr is null) and
    (honar_tajasomi=@honar_tajasomi or @honar_tajasomi is null) and
    (pajohesh_hay_farhangi_va_honari=@pajohesh_hay_far hangi_va_honari or @pajohesh_hay_farhangi_va_honari is null) and
    (ketab=@ketab or @ketab is null )and
    (kodak_va_nojavan=@kodak_va_nojavan or @kodak_va_nojavan is null )and
    (resane_digital=@resane_digital or @resane_digital is null )and
    (sheer_va_adabiyat=@sheer_va_adabiyat or @sheer_va_adabiyat is null )
    RETURN


    //
    ALTER PROCEDURE sgh_search1 @barname_ghorani bit, 
    @mosighi bit,
    @taatr bit,
    @honar_tajasomi bit,
    @pajohesh_hay_farhangi_va_honari bit,
    @ketab bit,
    @kodak_va_nojavan bit,
    @resane_digital bit,
    @sheer_va_adabiyat bit
    AS


    SELECT id_sabt, tell, tahsilat, barname_ghorani, mosighi, taatr, honar_tajasomi, pajohesh_hay_farhangi_va_honari, ketab, kodak_va_nojavan, resane_digital,
    sheer_va_adabiyat
    FROM tbl_nazar_sanji
    WHERE (barname_ghorani=@barname_ghorani or @barname_ghorani is null)


    UNION
    SELECT id_sabt, tell, tahsilat, barname_ghorani, mosighi, taatr, honar_tajasomi, pajohesh_hay_farhangi_va_honari, ketab, kodak_va_nojavan, resane_digital,
    sheer_va_adabiyat
    FROM tbl_nazar_sanji AS tbl_nazar_sanji_1
    WHERE (mosighi=@mosighi or @mosighi is null)
    UNION
    SELECT id_sabt, tell, tahsilat, barname_ghorani, mosighi, taatr, honar_tajasomi, pajohesh_hay_farhangi_va_honari, ketab, kodak_va_nojavan, resane_digital,
    sheer_va_adabiyat
    FROM tbl_nazar_sanji AS tbl_nazar_sanji_2
    WHERE (taatr=@taatr or @taatr is null)
    UNION
    SELECT id_sabt, tell, tahsilat, barname_ghorani, mosighi, taatr, honar_tajasomi, pajohesh_hay_farhangi_va_honari, ketab, kodak_va_nojavan, resane_digital,
    sheer_va_adabiyat
    FROM tbl_nazar_sanji AS tbl_nazar_sanji_2
    WHERE (honar_tajasomi=@honar_tajasomi or @honar_tajasomi is null)
    UNION
    SELECT id_sabt, tell, tahsilat, barname_ghorani, mosighi, taatr, honar_tajasomi, pajohesh_hay_farhangi_va_honari, ketab, kodak_va_nojavan, resane_digital,
    sheer_va_adabiyat
    FROM tbl_nazar_sanji AS tbl_nazar_sanji_2
    WHERE (pajohesh_hay_farhangi_va_honari=@pajohesh_hay_far hangi_va_honari or @pajohesh_hay_farhangi_va_honari is null)
    UNION
    SELECT id_sabt, tell, tahsilat, barname_ghorani, mosighi, taatr, honar_tajasomi, pajohesh_hay_farhangi_va_honari, ketab, kodak_va_nojavan, resane_digital,
    sheer_va_adabiyat
    FROM tbl_nazar_sanji AS tbl_nazar_sanji_2
    WHERE (ketab=@ketab or @ketab is null )
    UNION
    SELECT id_sabt, tell, tahsilat, barname_ghorani, mosighi, taatr, honar_tajasomi, pajohesh_hay_farhangi_va_honari, ketab, kodak_va_nojavan, resane_digital,
    sheer_va_adabiyat
    FROM tbl_nazar_sanji AS tbl_nazar_sanji_2
    WHERE (kodak_va_nojavan=@kodak_va_nojavan or @kodak_va_nojavan is null)
    UNION
    SELECT id_sabt, tell, tahsilat, barname_ghorani, mosighi, taatr, honar_tajasomi, pajohesh_hay_farhangi_va_honari, ketab, kodak_va_nojavan, resane_digital,
    sheer_va_adabiyat
    FROM tbl_nazar_sanji AS tbl_nazar_sanji_2
    WHERE (resane_digital=@resane_digital or @resane_digital is null)
    UNION
    SELECT id_sabt, tell, tahsilat, barname_ghorani, mosighi, taatr, honar_tajasomi, pajohesh_hay_farhangi_va_honari, ketab, kodak_va_nojavan, resane_digital,
    sheer_va_adabiyat
    FROM tbl_nazar_sanji AS tbl_nazar_sanji_2
    WHERE (sheer_va_adabiyat=@sheer_va_adabiyat or @sheer_va_adabiyat is null)


    RETURN




    //
      try            {
    SqlConnection cnn = new SqlConnection(Program.ConnectionString);
    cnn.Open();
    SqlDataAdapter dt = new SqlDataAdapter(@"SELECT id_sabt, tell, tahsilat, alaghe_mandi
    FROM tbl_nazar_sanji
    WHERE (alaghe_mandi LIKE N'%"+alaghe_mandi+"%')", cnn);
    DataSet ds = new DataSet();
    dt.Fill(ds, "tbl_nazar_sanji");
    dgv_nazar_sanji.DataSource = ds.Tables["tbl_nazar_sanji"];
    }
    catch (SqlException ex)
    {
    MessageBox.Show(ex.Message.ToString());
    }

  2. #2
    کاربر دائمی آواتار parvizwpf
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    TEH
    پست
    2,919

    نقل قول: کوئری چند شرطی

    مشکلتون در کدام بخش هست؟

  3. #3

    نقل قول: کوئری چند شرطی

    مشکل اینه که اطلاعات درست رو نمایش نمیده

  4. #4

    نقل قول: کوئری چند شرطی

    با این کد کارم راه افتاد.

     string query1 = "SELECT * FROM  tbl_nazar_sanji WHERE "; 
    if (chk_barname_ghorani.Checked)
    {
    if (query1[query1.Length - 1] == ')')
    {
    query1 += " OR ";
    }
    query1 += " (barname_ghorani = '1')";
    }
    if (chk_mosighi.Checked)
    {
    if (query1[query1.Length - 1] == ')')
    {
    query1 += " OR ";
    }
    query1 += " (mosighi = '1')";
    }
    if (chk_taatr.Checked)
    {
    if (query1[query1.Length - 1] == ')')
    {
    query1 += " OR ";
    }
    query1 += " (taatr = '1')";
    }
    if (chk_honar_haye_tajasomi.Checked)
    {
    if (query1[query1.Length - 1] == ')')
    {
    query1 += " OR ";
    }
    query1 += " (honar_tajasomi = '1')";
    }
    if (chk_pajohesh_farhangi.Checked)
    {
    if (query1[query1.Length - 1] == ')')
    {
    query1 += " OR ";
    }
    query1 += " (pajohesh_hay_farhangi_va_honari = '1')";
    }
    if (chk_ketab.Checked)
    {
    if (query1[query1.Length - 1] == ')')
    {
    query1 += " OR ";
    }
    query1 += " (ketab = '1')";
    }
    if (chk_kodak_va_nojavan.Checked)
    {
    if (query1[query1.Length - 1] == ')')
    {
    query1 += " OR ";
    }
    query1 += " (kodak_va_nojavan = '1')";
    }
    if (chk_resane_digital.Checked)
    {
    if (query1[query1.Length - 1] == ')')
    {
    query1 += " OR ";
    }
    query1 += " (resane_digital = '1')";
    }
    if (chk_sheer_va_adabiyat.Checked)
    {
    if (query1[query1.Length - 1] == ')')
    {
    query1 += " OR ";
    }
    query1 += " (sheer_va_adabiyat = '1')";
    }

تاپیک های مشابه

  1. نوشتن کوئری چند انتخابی
    نوشته شده توسط haniyeh.ghassami در بخش T-SQL
    پاسخ: 1
    آخرین پست: یک شنبه 16 خرداد 1395, 22:16 عصر
  2. پاسخ: 7
    آخرین پست: چهارشنبه 24 دی 1393, 03:07 صبح
  3. سوال: اتصال مقادیر کوئری چند فیلد
    نوشته شده توسط mohamadlvs در بخش C#‎‎
    پاسخ: 9
    آخرین پست: جمعه 16 تیر 1391, 15:35 عصر
  4. پاسخ: 2
    آخرین پست: یک شنبه 27 شهریور 1390, 14:51 عصر
  5. سوال: ايجاد كوئري چند منظوره
    نوشته شده توسط p30vahid در بخش Access
    پاسخ: 5
    آخرین پست: شنبه 21 شهریور 1388, 09:03 صبح

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

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