none
Tek Dataset ile birden fazla sorgu yapıyorum bir yerde hata alıyorum. yardım lütfen. RRS feed

  • Genel Tartışma

  • Merhaba ben öğretmenim ve okulum için bir proje yapıyorum. projemi bitirmek üzereyim ancak bir yerde takıldım.Problemim şu. Reportviewer ile raporlama yapacağım.Bunun için dataseti,adaptörü, rdlc dosyasını oluşturdum. raporlamamıda aldım. burada sorun yok. ancak aynı dataset içinde ikinci bir sorgu yaptığım zaman biri çalışıyor diğeri çalışmıyor. Acaba kodumda bir yanlışlıkmı vardiye düşündüm sorguların birini silince diğer sorgunun çalıştığını gördüm. kısacası aynı dataset içinde iki raporlamayı çalıştıramadım. Bu iki raporlama aynı anda göstermiyor. Ortalama dropdownliste tıkladığımda bir sorgu çalışacak. Toplu Ortalamaya  tıkladığımda diğer rapor çalışacak. Benim düşüncem. Sankii ya adaptör yada rdlc dosyasının içini verileri temizleyip sorguyu çalışmak gibi ama bir türlü beceremedim. sayfamdaki tüm kodu aşağıya yazıyorum. nerde hata yapıyorum. önce size ekran görüntüsünü atacağım sonrada kodlarını. Yardımcı olursanız çok memnun olurum. Bu arada bu yazılım dünyasına yeni girdiğimden dolayı yapmış olduğum hatalarım olabilir.

    Ortalama dropdownliste rimi tıkladığımda raporlama çalışıyor. iki tane ortalamam var. biri şube bazında raporlama, diğeri tüm sınıflar bazında dropdownlist.

    *ŞUAN TOPLU SINIF RAPORLAMA DA RAPOR GELİYOR. ANCAK SINIF BAZINDA RAPOR GELMİYOR. EĞER TOPLU SINIF RAPORLAMA KODLARINI SİLDİĞİMDE OTOMATİK OLARAK SINIF BAZINDAKİ RAPOR ÇALIŞIYOR.

    İlginiz için şimdiden teşekkür ederim.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Data;
    //BUNLARI EKLEDİK
    using System.Data;
    using System.Configuration;
    using System.Data.SqlClient;
    using Microsoft.Reporting.WebForms;

    namespace ASPXSanalCantam.Yonetim
    {
        public partial class RaporSinifBazinda : System.Web.UI.Page
        {
            Metodlar klas = new Metodlar();
            string Haftam = "";
            string Subem = "";
            string Dersim = "";
            string Ortalamam = "";
            string altsinir = "";
            string ustsinir = "";

            string TopluHaftam = "";
            string TopluSinifim = "";
            string TopluDersim = "";
            string TopluOrtalamam = "";
            string TopluAltSinir = "";
            string TopluUstSinir = "";
            protected void Page_Load(object sender, EventArgs e)
            {
               //// HAVAYA AT TUT TAKTİĞİ
                Haftam = Request.QueryString["Haftam"];
                Subem = Request.QueryString["Subem"];
                Dersim = Request.QueryString["Dersim"];
                Ortalamam = Request.QueryString["Ortalamam"];

                TopluHaftam = Request.QueryString["TopluHaftam"];
                TopluSinifim = Request.QueryString["TopluSinifim"];
                TopluDersim = Request.QueryString["TopluDersim"];
                TopluOrtalamam = Request.QueryString["TopluOrtalamam"];

                if (Ortalamam == "1")
                {

                    altsinir = "0";
                    ustsinir = "1000";
                }
                else if (Ortalamam == "2")
                {
                    altsinir = "0";
                    ustsinir = "10";
                }
                else if (Ortalamam == "3")
                {
                    altsinir = "11";
                    ustsinir = "30";
                }
                else if (Ortalamam == "4")
                {
                    altsinir = "31";
                    ustsinir = "50";
                }
                else if (Ortalamam == "5")
                {
                    altsinir = "51";
                    ustsinir = "75";
                }
                else if (Ortalamam == "6")
                {
                    altsinir = "76";
                    ustsinir = "100";
                }



                if (TopluOrtalamam == "1")
                {

                    TopluAltSinir = "0";
                    TopluUstSinir = "1000";
                }
                else if (TopluOrtalamam == "2")
                {
                    TopluAltSinir = "0";
                    TopluUstSinir = "10";
                }
                else if (TopluOrtalamam == "3")
                {
                    TopluAltSinir = "11";
                    TopluUstSinir = "30";
                }
                else if (TopluOrtalamam == "4")
                {
                    TopluAltSinir = "31";
                    TopluUstSinir = "50";
                }
                else if (TopluOrtalamam == "5")
                {
                    TopluAltSinir = "51";
                    TopluUstSinir = "75";
                }
                else if (TopluOrtalamam == "6")
                {
                    TopluAltSinir = "76";
                    TopluUstSinir = "100";
                }



                if (!IsPostBack)
                {


                    SubeBazindaRaporlama();
                    Hafta();
                    ddlHafta.Items.Insert(0, new ListItem("Seçiniz", "0"));
                    Sube();
                    ddlSube.Items.Insert(0, new ListItem("Seçiniz", "0"));
                    Dersler();
                    ddlDers.Items.Insert(0, new ListItem("Seçiniz", "0"));
                    Ortalama();
                    ddlOrtalama.Items.Insert(0, new ListItem("Seçiniz", "0"));

                    SinifBazindaRaporlama();
                    TopluHafta();
                    ddlTopluHafta.Items.Insert(0, new ListItem("Seçiniz", "0"));
                    TopluSinif();
                    ddlTopluSinif.Items.Insert(0, new ListItem("Seçiniz", "0"));
                    TopluDersler();
                    ddlTopluDers.Items.Insert(0, new ListItem("Seçiniz", "0"));
                    TopluOrtalama();
                    ddlTopluOrtalama.Items.Insert(0, new ListItem("Seçiniz", "0"));
                }
            }

            void Hafta()
            {
                DataTable dtHafta = klas.GetDataTable("select Hafta from Notlar group by Hafta");
                ddlHafta.DataTextField = "Hafta";
                ddlHafta.DataSource = dtHafta;
                ddlHafta.DataBind();
            }

            void Sube()
            {
                DataTable dtSube = klas.GetDataTable("select Subesi from Ogrenciler group by Subesi");
                ddlSube.DataTextField = "Subesi";
                ddlSube.DataSource = dtSube;
                ddlSube.DataBind();
            }
            void Dersler()
            {
                DataTable dtDersler = klas.GetDataTable("select * from Dersler");
                ddlDers.DataTextField = "DersAdi";
                ddlDers.DataValueField = "DersID";
                ddlDers.DataSource = dtDersler;
                ddlDers.DataBind();
            }

            void Ortalama()
            {

            }



            void TopluHafta()
            {
                DataTable dtTopluHafta = klas.GetDataTable("select Hafta from Notlar group by Hafta");
                ddlTopluHafta.DataTextField = "Hafta";
                ddlTopluHafta.DataSource = dtTopluHafta;
                ddlTopluHafta.DataBind();
            }

            void TopluSinif()
            {
                DataTable dtTopluSinif = klas.GetDataTable("SELECT SinifID FROM dbo.Notlar group by SinifID");
                ddlTopluSinif.DataTextField = "SinifID";
                ddlTopluSinif.DataValueField = "SinifID";
                ddlTopluSinif.DataSource = dtTopluSinif;
                ddlTopluSinif.DataBind();
            }
            void TopluDersler()
            {
                DataTable dtTopluDersler = klas.GetDataTable("select * from Dersler");
                ddlTopluDers.DataTextField = "DersAdi";
                ddlTopluDers.DataValueField = "DersID";
                ddlTopluDers.DataSource = dtTopluDersler;
                ddlTopluDers.DataBind();
            }

            void TopluOrtalama()
            {

            }



            public void SubeBazindaRaporlama()
            {
                
                SqlConnection baglanti = klas.baglan();

                this.ReportViewer1.Reset();
                ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Yonetim/RaporSinifBazinda.rdlc");

                DataTable dtTablom = new DataTable();
                SqlDataAdapter Adaptor = new SqlDataAdapter("SELECT Notlar.Hafta, Notlar.SoruSayisi, Notlar.DogruSayisi, " +
                " Notlar.YanlisSayisi, Notlar.Ortalama, Ogrenciler.AdiSoyadi, Sinif.Sinif, Ogrenciler.Subesi, Ogrenciler.Numarasi," +
                " Ogrenciler.KimlikNo, Dersler.DersAdi,Konular.Konu " +
    " FROM Notlar INNER JOIN " +
                             " Ogrenciler ON Notlar.OgrenciID = Ogrenciler.OgrenciID INNER JOIN " +
                             " Sinif ON Notlar.SinifID = Sinif.SinifID AND Ogrenciler.SinifID = Sinif.SinifID INNER JOIN " +
                             " Dersler ON Notlar.DersID = Dersler.DersID INNER JOIN " +
                             " Konular ON Notlar.KonuID = Konular.KonuID AND Dersler.DersID = Konular.DersID " +
                     " where Notlar.Hafta='" + Haftam + "' and dbo.Ogrenciler.Subesi ='" + Subem + "' AND dbo.Dersler.DersAdi ='" + Dersim + "' " +
                     "and dbo.Notlar.Ortalama <='" + ustsinir + "' and dbo.Notlar.Ortalama >='" + altsinir + "' order by Ortalama", baglanti);
                Adaptor.Fill(dtTablom);
                ReportDataSource dsDataSource = new ReportDataSource("DataSetSinifBazinda", dtTablom);
                this.ReportViewer1.LocalReport.DataSources.Clear();
                this.ReportViewer1.LocalReport.DataSources.Add(dsDataSource);
                this.ReportViewer1.LocalReport.Refresh();


            }


            public void SinifBazindaRaporlama()
            {

                

                SqlConnection baglanti = klas.baglan();

                this.ReportViewer1.Reset();
                ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Yonetim/RaporSinifBazinda.rdlc");

                DataTable dtTopluTablom = new DataTable();
                SqlDataAdapter TopluAdaptor = new SqlDataAdapter("SELECT dbo.Notlar.Hafta, dbo.Notlar.SoruSayisi, " +
                    " dbo.Notlar.DogruSayisi, dbo.Notlar.YanlisSayisi, dbo.Notlar.Ortalama, dbo.Ogrenciler.Subesi, " +
                    " dbo.Ogrenciler.Numarasi, dbo.Ogrenciler.AdiSoyadi, dbo.Dersler.DersAdi,dbo.Konular.Konu, dbo.Sinif.Sinif " +
    "FROM            dbo.Notlar INNER JOIN " +
                             " dbo.Ogrenciler ON dbo.Notlar.OgrenciID = dbo.Ogrenciler.OgrenciID INNER JOIN " +
                             " dbo.Dersler ON dbo.Notlar.DersID = dbo.Dersler.DersID INNER JOIN " +
                             " dbo.Konular ON dbo.Dersler.DersID = dbo.Konular.DersID INNER JOIN " +
                             " dbo.Sinif ON dbo.Ogrenciler.SinifID = dbo.Sinif.SinifID " +
     " WHERE Notlar.Hafta='" + TopluHaftam + "' and dbo.Sinif.Sinif ='" + TopluSinifim + "' AND dbo.Dersler.DersAdi ='" + TopluDersim + "' " +
                     "and dbo.Notlar.Ortalama <='" + TopluUstSinir + "' and dbo.Notlar.Ortalama >='" + TopluAltSinir + "' order by Ortalama", baglanti);
                TopluAdaptor.Fill(dtTopluTablom);
                ReportDataSource dsDataSource = new ReportDataSource("DataSetSinifBazinda", dtTopluTablom);
                this.ReportViewer1.LocalReport.DataSources.Clear();
                TopluAdaptor.Dispose();
                this.ReportViewer1.LocalReport.DataSources.Add(dsDataSource);
                this.ReportViewer1.LocalReport.Refresh();


            }



            protected void ddlOrtalama_SelectedIndexChanged(object sender, EventArgs e)
            {

                Response.Redirect("RaporSinifBazinda.aspx?Haftam=" + ddlHafta.SelectedValue + "&Subem=" + ddlSube.Text + "&Dersim=" + ddlDers.SelectedItem.ToString() + "&Ortalamam=" + ddlOrtalama.SelectedValue + "");
            }


            protected void ddlTopluOrtalama_SelectedIndexChanged1(object sender, EventArgs e)
            {
                Response.Redirect("RaporSinifBazinda.aspx?TopluHaftam=" + ddlTopluHafta.SelectedValue + "&TopluSinifim=" + ddlTopluSinif.Text + "&TopluDersim=" + ddlTopluDers.SelectedItem.ToString() + "&TopluOrtalamam=" + ddlTopluOrtalama.SelectedValue + "");
            }
           
        }
    }




    21 Ocak 2017 Cumartesi 19:52