MVC Mimari katman ile DataTable kullanimi veri Listeleme

 

DataTable ile Gösterimi Bağlantılı ve Bağlantısız

Not:SqlDataReader, sadece okunabilir olarak kullanılmaktadır. Satır satır okuma işlemi yapılmaktadır. SqlDataReader kullanımı boyunca veritabanı bağlantısı açık olacaktır. Çünkü SqlDataReader veritabanı ile bağlantılı olarak çalışmaktadır. Okuma işlemi sona erdiğinde SqlDataReader bağlantısınında kapatılması gerekmektedir.

   public ActionResult Form1_01()
        {
            SqlConnection con = new SqlConnection("Server=.; Database=ArchieveDB; integrated security=true");
            SqlCommand com = new SqlCommand("Select top 5 ID,Name from Tbl_1Table", con);
            con.Open();
            SqlDataReader dr = com.ExecuteReader();
            DataTable dtTable = new DataTable();
            dtTable.Columns.Add("ID");
            dtTable.Columns.Add("Name");
            while (dr.Read())
            {
                DataRow dt = dtTable.NewRow();
                dt["ID"] = dr["ID"];
                dt["Name"] = dr["Name"] + "-Ogrenci";
                dtTable.Rows.Add(dt);
            }
            dr.Close();
            con.Close();
            return View(dtTable);
        }
        //public ActionResult Form1_01()
        //{
        //    SqlConnection con = new SqlConnection("Server=.; Database=ArchieveDB; integrated security=true");
        //    SqlDataAdapter adp = new SqlDataAdapter("Select top 5 ID,Name from Tbl_1Table", con);
        //    DataTable dt = new DataTable();
        //    adp.Fill(dt);
        //    return View(dt);
        //}
 
    @model  System.Data.DataTable
    @for (int i = 0; i < Model.Rows.Count; i++)
        {
          @Model.Rows[i][1]; 
} foreach (System.Data.DataRow item in Model.Rows) { item["Name"].ToString(); }

List<T> Generic yöntemiyle function metot

    public class E_Tbl_1Table
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public string ImageUrl { get; set; }
    }
        public ActionResult Form1_02( )
        {
            List<E_Tbl_1Table> listem = new List<E_Tbl_1Table>();
            SqlConnection con = new SqlConnection("Server=.; Database=ArchieveDB; integrated security=true");
            SqlCommand com = new SqlCommand("Select top 5 ID,Name from Tbl_1Table", con);
            con.Open();
            SqlDataReader dr = com.ExecuteReader();
            while (dr.Read())
            {
                var ek = new E_Tbl_1Table();
                ek.ID = Convert.ToInt32(dr["ID"]);
                ek.Name = dr["Name"].ToString();
                listem.Add(ek);
            }
            dr.Close();
            con.Close();
            ViewBag.ddlist1 = new SelectList(listem, "ID", "Name");  //Select Kontrolüyle Gösterimi
            return View(listem);
        }
    @using _3_MVC.Models.Entity
    @model List<E_Tbl_1Table>
    @using (Html.BeginForm()){  @Html.DropDownList("ddlist1") }
    @foreach (var item in Model)
    {
        @item.ID
        @Html.DisplayFor(modelItem => item.Name)  
    }

        @for (int i = 0; i < Model.Count ; i++)
           {
            @Model.ToString() ; 
            @Html.DisplayFor(modelItem => Model) 
            }
     
       public ActionResult Form1_03()
        {
            SqlConnection con = new SqlConnection("Server=.; Database=ArchieveDB; integrated security=true");
            SqlCommand com = new SqlCommand("Select top 5 ID,Name from Tbl_1Table", con);
            con.Open();
            SqlDataReader dr = com.ExecuteReader();
            while (dr.Read())
            {
                string Name = Convert.ToString(dr["Name"]);
            }
            con.Close();
            return View(dr);
        }