15.11.2011

öğrenci değerlendirme(proje geliştirme)


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;

public partial class ogretmen_degerlendirme : System.Web.UI.Page
{
    vbbaglanti system = new vbbaglanti();
    SqlConnection baglanti;
    SqlCommand komut;
    SqlDataReader oku;
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack)//test tablosuna bağlanıp birden fazla olan testleri ekrana datalistle gösterimi
        {
            baglanti = system.baglan();
         
            komut = new SqlCommand("select * from test",baglanti);
            oku = komut.ExecuteReader();
            DataList1.DataSource = oku;
            DataList1.DataBind();
            oku.Close();
            komut.Dispose();
            baglanti.Close();

        }
    }
    protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        Label lblogr = (Label)e.Item.FindControl("lblogr");//datalistin içindeki labelları tanımlanması
        Label lbltest = (Label)e.Item.FindControl("lbltest");
        Label lblevet = (Label)e.Item.FindControl("lblevet");
        Label lblhayir = (Label)e.Item.FindControl("lblhayir");
        string ogr_id = Request.QueryString["ogr_id"].ToString();
        SqlCommand komut2 = new SqlCommand("select count(*) as toplam_sayi  from  degerlendirme where ogr_id=" + Convert.ToInt32(ogr_id) + " and test="+Convert.ToInt32(lbltest.Text)+"", baglanti);//tek test ve öğrenciye göre değerlendirme tablsundan süzme yapılarak öğrenci sayısı öğrenilir
        SqlDataReader oku2= komut2.ExecuteReader();
        oku2.Read();
        double toplam = Convert.ToDouble(oku2["toplam_sayi"].ToString());
        oku2.Close();
        komut2.Dispose();
        komut2 = new SqlCommand("select count(*) as evet  from  degerlendirme where yanit='E' and ogr_id=" + Convert.ToInt32(ogr_id) + " and test=" + Convert.ToInt32(lbltest.Text) + "", baglanti);//yukarıda ki süzme işlemlerinin aynısı ama ek olrak doğru yaptıklarını çekiyoruz
        oku2 = komut2.ExecuteReader();
        oku2.Read();
        double tevet = Convert.ToDouble(oku2["evet"].ToString());
        oku2.Close();
        komut2.Dispose();
        double yevet = (100 * tevet) / toplam;//doğru yaptıklarının yüzdesini hesaplıyoruz
        double yhayir = 100 - yevet;//yanlış yaptıklarının yüzdesini buradan hesaplıyoruz
        lblevet.Text = Convert.ToString(Math.Round(yevet,2));//virgülden sonraya yuvarlama yapılıyoruz
        lblhayir.Text = Convert.ToString(Math.Round(yhayir, 2));
        komut2 = new SqlCommand("select * from ogrenci where ogr_id="+Convert.ToInt32(ogr_id)+"",baglanti);//öğrencinin adını ve soyadını ogrenci tablosundan çekiyoruz
         oku2 = komut2.ExecuteReader();
        oku2.Read();
        lblogr.Text=oku2["ogr_ad_soyad"].ToString();
        oku2.Close();
        komut2.Dispose();
        komut2 = new SqlCommand("select * from test where test_id=" + Convert.ToInt32(lbltest.Text) + "", baglanti);//testin adını öğreniyoruz
        oku2 = komut2.ExecuteReader();
        oku2.Read();
        lbltest.Text = oku2["test_adi"].ToString();
        oku2.Close();
        komut2.Dispose();
     
    }
}

Hiç yorum yok:

Yorum Gönder