Asp.Net Dersleri – Asp.Net ile Access Veritabanı İşlemleri 3 Veri Listeleme – Veri Çekme

Önceki derslerimizde Asp.Net ile Access veritabanına bağlantı kurup kayıtlar eklemiştik, şimdi eklediğimiz bu kayıtların hepsini veya istediğimiz bir bölümünü nasıl listeleriz ona bakalım. Kayıtları ekranda bir tablo içerisinde göstereceğiz tabloyu oluşturmak için tasırım alanına bir Literal ekliyoruz bu Literal sayesinde birazdan kod kısmında oluştruduğumuz tabloyu sayfada görüntüleyebileceğiz.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="listele.aspx.cs" Inherits="accessbaglanti.listele" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div style="text-align: left; width: 769px">
<asp:Label ID="Label1" runat="server" 
Text="Öğrenci Sisteminde Kayıtlı Olan Bilgiler"></asp:Label>
<br />
<asp:Literal ID="Literal1" runat="server"></asp:Literal>  
</div>
</form>
</body>
</html>


Sayfa yüklendiği anda ekranda bilgileri görüntüleyeceğimiz için kodlarımızı sayfanın page_load bloğuna yazacağız ilk önce kodları yazalım sonra bölüm bölüm açıklayalım..

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
namespace accessbaglanti
{
public partial class listele : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
OleDbConnection db_baglanti;
db_baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("aspnet.accdb"));
try
{
db_baglanti.Open();
OleDbCommand db_komut = new OleDbCommand("Select * from ogrenci", db_baglanti);
OleDbDataReader alinan_veri;
alinan_veri = db_komut.ExecuteReader();
if (alinan_veri.HasRows)
{
Literal1.Text += "<table border=1><tr>";
Literal1.Text += "<td>Sıra No</td>";
Literal1.Text += "<td>Adı</td>";
Literal1.Text += "<td>Soyadı</td>";
Literal1.Text += "<td>Adres</td>";
Literal1.Text += "<td>Cep Tel</td>";
Literal1.Text += "</tr>";
int i = 1;
while (alinan_veri.Read())
{
//Response.Write(alinan_veri["ad"] + "<br>");
Literal1.Text += "<tr>";
Literal1.Text += "<td>"+i.ToString()+"</td>";
Literal1.Text += "<td>" + alinan_veri["ad"].ToString() + "</td>";
Literal1.Text += "<td>" + alinan_veri["soyad"].ToString() + "</td>";
Literal1.Text += "<td>" + alinan_veri["adres"].ToString() + "</td>";
Literal1.Text += "<td>" + alinan_veri["ceptel"].ToString() + "</td>";
Literal1.Text += "</tr>";
i++;
}
Literal1.Text += "</table>";
db_baglanti.Close();
}
}
catch
{
Response.Write("Bağlantıda sorun var !!!");
}
}
}
}
db_baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("aspnet.accdb")); 

bağlantı kurulacak veritabanını belirliyoruz.

db_baglanti.Open();
OleDbCommand db_komut = new OleDbCommand("Select * from ogrenci", db_baglanti);
OleDbDataReader alinan_veri;
alinan_veri = db_komut.ExecuteReader();

bağlantıyı açıp, listeleme işlemi sorgumuzu yazıyoruz, sorgu sonucunda gelen bilgiler alinan_veri değişkenine aktarılıyor.

if (alinan_veri.HasRows)
{
Literal1.Text += "<table border=1><tr>";
Literal1.Text += "<td>Sıra No</td>";
Literal1.Text += "<td>Adı</td>";
Literal1.Text += "<td>Soyadı</td>";
Literal1.Text += "<td>Adres</td>";
Literal1.Text += "<td>Cep Tel</td>";
Literal1.Text += "</tr>";
int i = 1;

Eğer kayıt varsa Literal komutuna tablo oluşturması için gerekli html etiketleri atanıyor

while (alinan_veri.Read())
{
//Response.Write(alinan_veri["ad"] + "<br>");
Literal1.Text += "<tr>";
Literal1.Text += "<td>"+i.ToString()+"</td>";
Literal1.Text += "<td>" + alinan_veri["ad"].ToString() + "</td>";
Literal1.Text += "<td>" + alinan_veri["soyad"].ToString() + "</td>";
Literal1.Text += "<td>" + alinan_veri["adres"].ToString() + "</td>";
Literal1.Text += "<td>" + alinan_veri["ceptel"].ToString() + "</td>";
Literal1.Text += "</tr>";
i++;
}

gelen veriler alinan_veri[“ad”].ToString() şeklinde okunup Literal1.Text ile ekranda yazdırılıyor. bu işlem alinan_veri.Read() satırındaki kayıtlar bitene kadar devam ediyor..

Asp.Net Dersleri – Asp.Net ile Access Veritabanı İşlemleri 2 Veri Ekleme
Asp.Net Dersleri – Asp.Net ile Access Veritabanı İşlemleri 3 Veri Listeleme – Veri Çekme
Asp.Net Dersleri – Asp.Net ile Access Veritabanı İşlemleri 4 Kayıt Silme
Asp.Net Dersleri – Asp.Net ile Access Veritabanı İşlemleri 5 Kayıt Güncelleme

  • İsimsiz Öğrenci

    Hocam yarın teslimi var acaba nasıl yapabilirim yuakrıda yazdığım meseleyi

    • BilisimOgretmeni

      döngüyü aşağıdaki gibi değiştirirseniz çalışma anında labeller oluşturarak eklenir, labellerin yerini değiştirmek için uste_uzaklik ve left değerlerini değiştirin

      int uste_uzaklik = 50;

      while (alinan_veri.Read())

      {

      Label yenilabel=new Label();

      yenilabel.Text=alinan_veri["ad"].ToString();

      yenilabel.Style["Position"] = "Absolute";

      yenilabel.Style["Top"] = uste_uzaklik.ToString() + "px";

      yenilabel.Style["Left"] = "100px";

      Page.Controls.Add(yenilabel);

      uste_uzaklik += 30;

  • İsimsiz Öğrenci

    Hocam öncelikle paylaşımlarınız için çok teşekkür ederiz. Ya benim ödevimizle ilgili çok acil bir sorum olacaktı. Lütfen yardımcı olabilirseniz o kadar çok sevineceğim ki. Hocam benim sorumda yukarıdakine benzer şekilde. Yalnız benim sorum, yukarıdaki tabloyu veritabanı tablosu farzedersek Label1.Text e Adı sütunundan ayşeyi Label2.Text e Adı sutunundan Selimi sırayla labellerda isimleri göstermek istiyorum. Acaba bunu nasıl yapacağım. Aslında yukarıdaki ile çok benzer sanırım ama bilemedim şimdi 🙁

X

Pin It on Pinterest

X