MVC Kayıt Bulma

Kayıt bulma işlemi veritabanı kullanılan tüm sistemlerde önemli bir yer tutmaktadır. Bu dersimizde MVC ile kayıt bulma işlemi nasıl yapılır anlatmaya çalışacağım. Bulma işlemi birbirleriyle ilişkili iki tablo kullanarak gerçekleştireceğiz.

OğrenciBilgiDB veritabanında aşağıda belirtilen iki adet tablomuz var. OgrenciTBL ve NotlarTBL tabloları sırayla Id ve Ogrid alanları ile ilişkilidir.


Amacımız şu; öğrenci okul numarası girildiğinde kişisel bilgileri ve notları birlikte görüntülensin. Veritabanımızın Entity Data Modelini oluşturalım. Controller oluşturup şu şekilde kodlayalım.

public class HomeController : Controller
{
    OgrenciBilgiDBEntities db = new OgrenciBilgiDBEntities();
    public ActionResult Index(string ara)
    {
        if (ara == "") ara = "1"; //Arama kutusuna veri girilmemişse 1 nolu öğrenci bulunsun. Arama kutusu boş olduğunda hata almamak için yaptık. 
        int aradeger = Convert.ToInt32(ara); //OkulNo alanı int tipinde olduğundan Convert ettik.
        var ogr = db.OgrenciTBL.Where(x => x.OkulNo == aradeger); //Girilen bilgiyle veritabanındaki bilgiyi karşılaştırdık.
        if (ogr != null)  //Eğer kayıt bulunmuşsa
        {
            ViewBag.Notlar = db.NotlarTBL.Where(x => x.Ogrid == ogr.FirstOrDefault().Id); //Bulunan kayıtla alakalı notlar getirilsin. Notlar ViewBag ile Viewe gönderildi.
        }
        return View(ogr.ToList());

    }

Ardından şu tasarımı yağalım.

@model IEnumerable<MVCRapor.Models.OgrenciTBL>

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>

</head>
<body>
    @using (Html.BeginForm("Index", "Home", FormMethod.Get))
    {
         <table>
            <tr>
                <td>Öğrenci Numarası Giriniz</td>
                <td>
                    @Html.TextBox("Ara")
                </td>
                <td>
                    <button type="submit">Ara</button>
                </td>
            </tr>
        </table>
    }
    <table>
        @foreach (var ogr in Model)
        {
            <tr>
                <td> Okul No </td>
                <td> @ogr.OkulNo </td>
                <td rowspan="6">
                    <img src="~/Resimler/@ogr.ResimYol" />
                </td>
            </tr>
            <tr>
                <td> Ad </td>
                <td> @ogr.Ad.ToUpper() </td>
                <td></td>
            </tr>
            <tr>
                <td> Soyad </td>
                <td> @ogr.Soyad.ToUpper() </td>
                <td>
                <td>
            </tr>
            <tr>
                <td> Veli Adı </td>
                <td> @ogr.VeliAd.ToUpper() </td>
                <td></td>
            </tr>
            <tr>
                <td> Veli Telefonu </td>
                <td> @ogr.VeliTel)</td>
                <td></td>
            </tr>
            <tr>
                <td>Adres</td>
                <td>@ogr.Adres</td>
                <td></td>
            </tr>
        }
    </table>
    <table>
         <tr>
            <th>Ders Adı</th>
            <th>1.Yazılı</th>
            <th>2.Yazılı</th>
            <th>1.Performans</th>
            <th>2.Performans</th>
         </tr>
          @foreach (var notlar in ViewBag.Notlar)
            {
           <tr>
                <td>@notlar.DersAd</td>
                <td>@notlar.Y1</td>
                <td>@notlar.Y2 </td>
                <td>@notlar.P1</td>
                <td>@notlar.p2</td>
            </tr>
        }
    </table>
</body>
</html>
View tasarımımızın Form bölümünü mavi, öğrenci bilgileri bölümünü siyah ve notlar bölümünü turkuaz mavi olarak renklendirdim. Projeyi çalıştırdım ve okul numarası girip Ara butonuna bastım.Sonuç.

Projemizin Solution Explorerdaki son hali.


Kolay gelsin.



Etiketler
Search Where FirsOrDefault Arama Bul
Alper ÖZ | Tarih : 21.06.2020

Siz nasıl bir kralsınız Ahmet Hocam. Saygılar.

Mesaj Yaz