YazilimDevi.Com {..} Yazılım Devi Olacaksın :)  
Kullanıcı Adı :
Şifre :
 
   
  En Çok İzlenen KonularAnlatım
İzle  C# ile Ado.NET-Tablo Verilerini Projemize AktaralimEngin Demirog
İzle  Active Directory Kurulumu (1)Salih Demirog
İzle  Exchange Server 2003 KurulumuSalih Demirog
ASP.NET
ASP.NET AJAX
BILGISAYAR
C#
CRYSTAL REPORTS
CSS
LINQ
MS ACCESS
MS EXCEL
MS POWERPOINT
MS WORD
POCKET PC
SQL
SQL SERVER
VISUAL BASIC
WPF
ISA SERVER 2006
MS EXCHANGE SERVER
MS OUTLOOK
MS SERVER 2003-2008
 
 

 

Merhaba arkadaslar,
Bu dersimizde daha önce sizlerle paylastigim, CSS ile dizay ettigim (http://www.yazilimdevi.com/Makaleler-206-css-ile-tablo-dizayni.aspx linkinden ulasabilirsiniz.) tablonun içini database’den çektigimiz datalarla dolduracagiz. Yaptigimiz isleri gridview,repeater gibi componentlerle çok daha kisa yoldan yapabiliriz.Bizim yaptigimiz is biraz amelelik gibi görünse de bunlari bilmekte fayda oldugunu düsünüyorum.
Ben database olarak Oracle 10g’ yi seçtim.Oracle ile gelen sample tablolardan Employees tablosunundaki datalari tablomuzda listeleyecegiz.Tablomuzun dizayni asagidaki gibidir.
 

Name
Type
Nullable
EMPLOYEE_ID
NUMBER(6)
Y
FIRST_NAME
VARCHAR2(20)
Y
LAST_NAME
VARCHAR2(25)
N
EMAIL
VARCHAR2(25)
N
PHONE_NUMBER
VARCHAR2(20)
Y
HIRE_DATE
DATE
N
JOB_ID
VARCHAR2(10)
N
SALARY
NUMBER(8,2)
Y
COMMISSION_PCT
NUMBER(2,2)
Y
MANAGER_ID
NUMBER(6)
Y
DEPARTMENT_ID
NUMBER(4)
Y

 
 
ASP.NET’ de yeni bir web projesi olusturarak isimize baslayalim.Burada dikkat edilmesi gereken husus C# kodlarimizi yazabilecegimiz bir code behind sayfamizin olmayacagidir.
Yani html kodlarini barindiran sayfamiza ait bir CodeFile olmayacaktir.Asagidaki kodda ise tam tersine Codefile tanimlamasi yapilmistir.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
 

 
Ikinci önemli husus ise Solution Explorer kisminda projemizin üzerine faremizin sagi ile tiklayarak Add Reference kismindan System.Data.OracleClient’i eklememiz gerekiyor.Daha sonra sayfamizda asagidaki tanimlamayi yapmak gerekiyor.

<%@ Import Namespace="System.Data.OracleClient" %>

 
Simdi gelelim kodlarimiza.Kodlari incelemeden önce sayfamizin dizayn görüntüsünü incelemekte fayda var.

Personel ID
Ad
Soyad
Maas
Seçiminiz
 
 
 
 

 
Sizin de gördügünüz gibi tablomuz kolon adlarini barindiran bir adet header’dan ve bir adet de datalari listelemede kullanabilecegimiz bos satirdan olusmaktadir.Bu kisim sadece CSS ve HTML kullanilarak dizayn edilmistir.
Simdi kodlara bir göz atalim.
 
 
 
 
 

<%
//Burada kodlamayi C# ile yapacagimizi belirttik.  
//Herhangi bir CodeFile belirtmedik.
%>
<%@ Page Language="C#" %>
<%
//Burada kullanacagimiz kütüphaneleri ekliyoruz.   
%>
<%@ Import Namespace="System.Data.OracleClient" %>
<%@ Import Namespace="System"%>
<%@ Import Namespace="System.Configuration"%>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.SqlClient"%>
<%@ Import Namespace="System.Web"%>
<%@ Import Namespace="System.Web.Security"%>
<%@ Import Namespace="System.Web.UI"%>
<%@ Import Namespace="System.Web.UI.HtmlControls"%>
<%@ Import Namespace="System.Web.UI.WebControls"%>
<%@ Import Namespace="System.Web.UI.WebControls.WebParts"%>
 
<!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 id="Head1" runat="server">
<title>Untitled Page</title>
<%
//Tablomuzun dizaynini burada belirliyoruz 
%>
<style type="text/css">
.mytable {
      border-collapse: collapse;
      border: 1px solid #C0CEDF;
      width:80%
}
.mycontent {
      border: 1px solid #C0CEDF;
      width: 245px;
      font-size: small ;
      font-family: Tahoma;
      text-align:center ;   
}
.mycontent:hover{
background-color:silver;
cursor: pointer;
.myheader {
      font-family: Tahoma;
      font-size: small;
      color: #FFFFFF;
      text-align: center;
      border: 1px solid #C0CEDF;
      background-color: #82A2C6;
      font-weight: bold;
      width: 245px;
      height: 30px;
}
.mycolumn {
      font-family: Tahoma;
      font-size: small;
      color: #5981A7;
      border: 1px solid #C0CEDF;
      background-color: #DAE3EF;
      font-weight: bold;
      width: 245px;
      height: 25px;
      text-align:center ;
}
</style>
 
</head>
<body>
    <form id="form1" runat="server">
    <div>
<%
//Burada ise Oracle veritbanina baglaniyoruz.SQl Server'a baglanmak gibi birsey.
        OracleConnection oc = new OracleConnection();
        OracleConnectionStringBuilder ocs = new OracleConnectionStringBuilder();
        ocs.DataSource = "ORCL";
        ocs.UserID = "system";
        ocs.Password = "orcl";
        oc.ConnectionString = ocs.ConnectionString;
        oc.Open();
 
//Datasetimizi olusturduk ve hangi veritabanina baglanacagini belirttik.
        DataSet ds = new DataSet();
        OracleDataAdapter da = new OracleDataAdapter();
        da.SelectCommand = oc.CreateCommand();
//Select cümlemizi yaziyoruz ve datasetimizi gelen veri ile dolduruyoruz.
        da.SelectCommand.CommandText = "select employee_id,first_name,last_name,salary from hr.employees where employee_id<120";
        da.Fill(ds, "tbl");
 
        
%>
    <table cellspacing="0" cellpadding="0" class="mytable">
      <tr>
            <td class="myheader" >Personel ID</td>
            <td class="myheader" >Ad</td>
            <td class="myheader" >Soyad</td>
            <td class="myheader" >Maas</td>
            <td class="myheader" >Seçiminiz</td>
      </tr>
<%
//Burada bir döngü sayesinde dataset içindki kayitlari okuyabiliyoruz.
//Döngümüz dataset içindeki kayit sayisi kadar çalisir.   
    for (int i = 0; i < ds.Tables["tbl"].Rows.Count; i++)
    {
//Burada tek bir satirda bütün kayitlarin gösterilmesini sagliyoruz.
//Satirimizin hücrelerinde hangi kayitlarin gösterilecegini belirtiyoruz.
//Son hücrede ise bir link koyduk ve bu linke basildiginda sayfamizi nereye yönlendirecegimizi
//belirttik.Buradaki kodlari iyice incelemenizi tavsiye ederim.
//Normalde <a href=default4.aspx>Detaylar</a> seklinde olusturabilecegimiz bir linke seçilen personelin
//id'sini de ekleme istiyorsak ve bu id'yi baska bir sayfaya göndermek istiyorsak linkimizi       
//asagidaki gibi olusturduk.
//Önemli bir nokta da; ds.Tables["tbl"].Rows[i][1].ToString() ile i. satirdaki 2. sütundaki kaydi aliyoruz.
%>
      <tr>
            <td class="mycolumn" >&nbsp;<%Response.Write(ds.Tables["tbl"].Rows[i][0].ToString());%></td>
            <td class="mycontent" ><%Response.Write(ds.Tables["tbl"].Rows[i][1].ToString());%></td>
            <td class="mycontent" ><%Response.Write(ds.Tables["tbl"].Rows[i][2].ToString());%></td>
            <td class="mycontent" ><%Response.Write(ds.Tables["tbl"].Rows[i][3].ToString());%></td>
          <td class="mycontent" ><a href=default4.aspx?id=<%Response.Write(ds.Tables["tbl"].Rows[i][0].ToString());%>>Detaylar</a></a></td>
      </tr>
<%
    }
%>
      </table>
 
    </div>
    </form>
</body>
</html>
 
 

 
 
Iyi çalismalar
 
Halit Patan