İki tarih arası yapılan sorguyu Reportviewer ile görüntülemek.

0

C# da Reportviewer ile access veri tabanından iki tarih arası sorgu yapıp görüntüleme yapmak için nasıl bir sorgu cümleciği yazmam gerekiyor. Listviewde gösterebiliyorum ama rapor olarak alamıyorum.

Listviewde görüntüleme kodlarım;

DateTime tarih1, tarih2;

                    string dt = tbilktarih.Text;
                    string dt1 = tbsontarih.Text;

                    dt = dt.Replace('/', '.');
                    dt1 = dt1.Replace('/', '.');

                    bool t1 = DateTime.TryParse(dt, new CultureInfo("tr-TR"), DateTimeStyles.None, out tarih1);
                    bool t2 = DateTime.TryParse(dt1, new CultureInfo("tr-TR"), DateTimeStyles.None, out tarih2);

                    OleDbCommand komut = new OleDbCommand("select * from kayitlar where b29 >= @tarih1 and b29 <= @tarih2", baglanti);
                    komut.Parameters.AddWithValue("@tarih1", t1 ? tarih1 : DateTime.MinValue);
                    komut.Parameters.AddWithValue("@tarih2", t2 ? tarih2 : DateTime.MaxValue);

                    OleDbDataReader oku = komut.ExecuteReader();

while (oku.Read())
                    {
                        ListViewItem li = new ListViewItem();
                        li.Text = oku["id"].ToString();             
                        li.SubItems.Add(oku["b1"].ToString());     
                        li.SubItems.Add(oku["b2"].ToString());     
                        li.SubItems.Add(oku["b3"].ToString());     
                        listView1.Items.Add(li);
                    }

ekankim ekankim (1)
8 yıl önce sordu

    Toplam 1 Cevap


    0

    Arkadaşlar epey bir uğraştıktan sonra kendi sorumun cevabını kendim buldum, başak bir arkadaşa lazım olur diye yazdığım kodu paylaşıyorum.

    reportViewer1.Reset();
    reportViewer1.LocalReport.ReportPath = (Application.StartupPath + "\\Rapor.rdlc");

    OleDbDataAdapter adap = new OleDbDataAdapter("SELECT * FROM kayitlar where b22  like '" + konum + "' and b28 BETWEEN  @StartDate AND @EndDate", baglanti);
    adap.SelectCommand.Parameters.AddWithValue("@StartDate",Convert.ToDateTime(tbkurdurilktar.Text).ToShortDateString());
    adap.SelectCommand.Parameters.AddWithValue("@EndDate",Convert.ToDateTime(tbkurdursontar.Text).ToShortDateString());
    DataTable tbl = new DataTable();
    adap.Fill(tbl);

    ReportDataSource rds = new ReportDataSource("DataSet1", tbl);
    reportViewer1.LocalReport.DataSources.Clear();
    reportViewer1.LocalReport.DataSources.Add(rds);
    reportViewer1.SetDisplayMode(DisplayMode.PrintLayout);
    reportViewer1.LocalReport.Refresh();
    reportViewer1.RefreshReport();

    ekankim ekankim (1)
    8 yıl önce cevaplandı

      üyelik gerektirir

      Cevap yazabilmek için üye girişi yapmalısınız.

      Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
      uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol