You are on page 1of 50

ASP.

NET ORTAMINDA C#
VERTABANI UYGULAMALARI
VERTABANINA BALANTI GEREKLETRMEK
Sayfa Yklendiinde;
Access Komutu;
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
Source=" + Server.MapPath("App_Data/deneme.mdb"));
baglanti.Open();
baglanti.Close();
Response.Write("balant baarl bir ekilde gerekletirildi....!!!");

SQL Komutu;
SqlConnection baglan = new SqlConnection("Data Source=admin(admin=bilgisayarmzn
addr)\\SQLEXPRESS;initial Catalog=deneme ;integrated security=sspi");
Response.Write("balant baarl bir ekilde gerekleti");
baglan.Close();

COMMAND NESNES
Form sayfas yklendiinde;
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
Source=" + Server.MapPath("App_Data/deneme.mdb"));
baglanti.Open();
OleDbCommand komut;
komut = new OleDbCommand("select * from ailebilgileri", baglanti);
alinan_veri = komut.ExecuteReader();
baglanti.Close();
Response.Write("balant baarl bir ekilde gerekletirildi....!!! ve
veriler command nesnesi ile okundu....!!!!");

DATAREADER NESNES
Form sayfas yklendiinde;
r. Gr. Mslm ZTRK

Sayfa 1

OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
Source=" + Server.MapPath("App_Data/deneme.mdb"));
baglanti.Open();
OleDbCommand komut;
komut = new OleDbCommand("select * from ailebilgileri", baglanti);
OleDbDataReader alinan_veri;
alinan_veri = komut.ExecuteReader();
while (alinan_veri.Read())
{
Response.Write(alinan_veri["anneadi"] + "<br>");
}

FORM NESNELERN KULLANARAK VERTABANINDAN VER EKMEK


Button click olayna; (Forma Bir button ve bir de textbox gerek.)
string koul;
koul = TextBox1.Text;
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
Source=" + Server.MapPath("App_Data/deneme.mdb"));
baglanti.Open();
OleDbCommand komut;
komut = new OleDbCommand("select * from ailebilgileri where anneadi like '%"
+koul+ "%'", baglanti);
OleDbDataReader alinan_veri;
alinan_veri = komut.ExecuteReader();
while (alinan_veri.Read())
{
Response.Write (alinan_veri["anneadi"] + "&nbsp;" + alinan_veri["babaadi"]
+ "&nbsp;" + alinan_veri["hobileri"] + "&nbsp;" + "<br>");
}

FT KOULA BALI OLARAK VERTABANINDAN VER EKMEK


Veritaban:

Form Grnts:
r. Gr. Mslm ZTRK

Sayfa 2

Button click olayna; (Forma Bir button ve 2 de textbox gerek.)


string Ad, Soyad;
Ad = TextBox1.Text;
Soyad = TextBox2.Text;
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
Source=" + Server.MapPath("App_Data/deneme.mdb"));
baglanti.Open();
OleDbCommand komut;
komut = new OleDbCommand("select * from OgrenciBilgileri where ad Like '%" +
Ad + "%' AND soyad Like '%" + Soyad + "%'", baglanti);
OleDbDataReader alinan_veri;
alinan_veri = komut.ExecuteReader();
while (alinan_veri.Read())
{
Response.Write(alinan_veri["ad"] + "&nbsp;" + alinan_veri["soyad"] +
"&nbsp;" + alinan_veri["ya"] + "&nbsp;" + "<br>");
}

VERTABANINA VER EKLEMEK (INSERT INTO OLAYI)


//using system.data;
//using system.data.OleDb;

eklemeyi unutmayn!!!!!!!!!

Sayfa Ykleme Olayna;


OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data
Source=" + Server.MapPath("App_Data/deneme.mdb"));
baglanti.Open();
OleDbCommand komut = new OleDbCommand("INSERT INTO OgrenciBilgileri (ad,
soyad) Values ('Ahmet', 'Can')", baglanti);

r. Gr. Mslm ZTRK

Sayfa 3

komut.ExecuteNonQuery();

Response.Write("Veriler Baarl Bir ekilde Veritabanna Eklendi.");

Sql Veritabann Kullanarak Veritabanna Veri Eklemek;


// usins system.data;
//using system.data.sqlclient; Eklemeyi Unutmayn.
SqlConnection baglan = new SqlConnection("Data Source=admin\\SQLEXPRESS;initial
Catalog=master (Veritaban ad);integrated security=sspi");
baglan.Open();
SqlCommand komut = new SqlCommand("insert into OgrenciBilgileri(Ad,Soyad)
values ('Meral','Akta')", baglan);
komut.ExecuteNonQuery();
Response.Write("Veriler baarl bir ekilde veritabanna eklendi!");
baglan.Close();

FORM ELEMANLARINI KULLANARAK VERTABANINA VER EKLEMEK


Forma (bir buton, 4 tane textbox ve 1 tane de label ekleyelim)
Buton click olayna;
//using system.data;
//using system.data.OleDb;

eklemeyi unutmayn!!!!!!!!!

string ad, soyad, ya, doumtarihi;


ad = TextBox1.Text;
soyad = TextBox2.Text;
ya = TextBox3.Text;
doumtarihi = TextBox4.Text;

OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
SOURCE=" + Server.MapPath("App_Data/deneme.mdb"));
baglanti.Open();
OleDbCommand komut;
komut = new OleDbCommand("insert into OgrenciBilgileri
(ad,soyad,ya,doumtarihi) values ('" + ad + "', '" + soyad + "', '" + ya + "', '" +
doumtarihi + "')", baglanti);
komut.ExecuteNonQuery();
Label1.Text=("Bilgileriniz Baarl bir ekilde veritabanna kaydedildi.");
baglanti.Close();

r. Gr. Mslm ZTRK

Sayfa 4

VERTABANINDA VER GNCELLEMEK (UPDATE SET OLAYI) buraya kadarrrrr


Sayfa yklendiinde yazlacak kod (Sayfaya bir tane Label eklenecektir.);
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
Source=" + Server.MapPath("App_Data/deneme.mdb"));
baglanti.Open();
OleDbCommand komut;
komut = new OleDbCommand("UPDATE ailebilgileri SET anneadi='fatma' where
anneadi like 'islim'", baglanti);
int updatesayi;
updatesayi = komut.ExecuteNonQuery();
Labbel1.Text=(updatesayi + "&nbsp;" + "kayt gncellendi");
baglanti.close();

FORM ELEMANLARINI KULLANARAK VERTABANINDA VER GNCELLEMEK


Ekran Grnts;

Veritabanmz;

Button click olayna;


OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
SOURCE=" + Server.MapPath("App_Data/deneme.mdb"));
baglanti.Open();

r. Gr. Mslm ZTRK

Sayfa 5

OleDbCommand komut;
komut = new OleDbCommand("UPDATE OgrenciBilgileri SET ad='" + TextBox1.Text +
"', soyad='" + TextBox2.Text + "', notu='" + TextBox3.Text + "', okulno='" +
TextBox4.Text + "' WHERE soyad='" + TextBox5.Text + "'", baglanti);
komut.ExecuteNonQuery();
baglanti.Close();

VERTABANINDA VER SLMEK (DELETE OLAYI)


Sayfa yklenme olayna (Sayfaya sadece bir tane label eklenecektir.);
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
Source=" + Server.MapPath("App_Data/deneme.mdb"));
baglanti.Open();
OleDbCommand komut;
komut = new OleDbCommand("DELETE From ailebilgileri Where anneadi='islim'",
baglanti);
int updatesayi;
updatesayi = komut.ExecuteNonQuery();
Label1.Text = (updatesayi + "&nbsp;" + "Kayt silindi");
baglanti.Close();

FORM ELEMANLARINI KULLANARAK VERTABANINDA VER SLMEK


Forma; (Bir textbox ve bir button eklenecek.)
Veritaban;

r. Gr. Mslm ZTRK

Sayfa 6

Button Click Olayna;


OleDbConnection baglan = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
SOURCE=" + Server.MapPath("App_Data/deneme.mdb"));
baglan.Open();
OleDbCommand uygula = new OleDbCommand("Delete From OgrenciBilgileri Where
ad='" + TextBox1.Text + "'", baglan);
uygula.ExecuteNonQuery();

baglan.Close();

DATAADAPTER VE DATASET KAVRAMLARI VE UYGULAMASI


Uygulama 1:
Forma (1 adet gridwiev eklenecek);
Sayfa Ykleme Olayna (Page_Load);
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
SOURCE=" + Server.MapPath("App_Data/deneme.mdb"));
baglanti.Open();
OleDbDataAdapter da = new OleDbDataAdapter("Select * From OgrenciBilgileri",
baglanti);
DataSet ds = new DataSet();
da.Fill(ds, "OgrenciBilgileri");

r. Gr. Mslm ZTRK

Sayfa 7

GridView1.DataSource = ds;
GridView1.DataBind();
Baglanti.close();

Uygulama 2:
Forma (1 adet gridview ve 1 adet Button eklenecek);
Button_Click Olayna;
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data
Source=" + Server.MapPath("App_Data/deneme.mdb"));
baglanti.Open();
OleDbDataAdapter da = new OleDbDataAdapter("Select * From OgrenciBilgileri",
baglanti);
DataSet ds= new DataSet();
da.Fill(ds, "OgrenciBilgileri");
GridView1.DataSource = ds;
GridView1.DataBind();
Response.Write("Tm veriler baarl bir ekilde gsterildi.");

COMMAND NESNES VE GRDWEV GSTERM UYGULAMASI


Forma (1 adet gridwiev eklenecek);
Sayfa Ykleme Olayna (Page_Load);
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
SOURCE=" + Server.MapPath("App_Data/deneme.mdb"));
baglanti.Open();
OleDbCommand komut = new OleDbCommand ("Select * From OgrenciBilgileri",
baglanti);
OleDbDataReader dr = komut.ExecuteReader();
GridView1.DataSource = dr;
GridView1.DataBind();

YE KAYDI FORMU
Veritabanmz;

r. Gr. Mslm ZTRK

Sayfa 8

Ekran Grnts;

Button Click Olayna;


string Adnz, Soyadnz, EMailAdresiniz, KullancAdnz, ifreniz;
Adnz = TextBox1.Text;
Soyadnz = TextBox2.Text;
EMailAdresiniz = TextBox3.Text;
KullancAdnz = TextBox4.Text;
ifreniz=TextBox5.Text;

OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
SOURCE=" + Server.MapPath("App_Data/UyelikFormu.mdb"));
baglanti.Open();
OleDbCommand komut;
komut = new OleDbCommand("insert into Uyeler
(Adnz,Soyadnz,EMailAdresiniz,KullancAdnz, ifreniz) values ('" + Adnz + "',
'" + Soyadnz + "', '" + EMailAdresiniz + "', '" + KullancAdnz + "', '" +
ifreniz + "')", baglanti);
komut.ExecuteNonQuery();
Label1.Text = ("Bilgileriniz Baarl bir ekilde veritabanna kaydedildi.");
baglanti.Close();

*YE KAYDI LOGN LEMLER*


Login Girii;
r. Gr. Mslm ZTRK

Sayfa 9

Veritaban;

Buton_Click Olayna;
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
Source=" + Server.MapPath("App_Data/Yonetici.mdb"));
baglanti.Open();
OleDbCommand komut;
komut = new OleDbCommand("select * From YoneticiGirii Where
KullancAd='"+TextBox1.Text+"' and ifre='"+TextBox2.Text+"'", baglanti);
OleDbDataReader alinan_veri;
alinan_veri = komut.ExecuteReader();
if (alinan_veri.Read())
{
Response.Redirect("YoneticiSayfasi.aspx");
}
else
{
Label1.Text=("Kullanc ad veya ifre yanl");
}

TM VERTABANI LEMLERNN (VER EKMEK, VER EKLEMEK, VER


GNCELLEMEK VE VER SLMEK) BR ARADA UYGULANMASI
1) Bu uygulamamzda Web sitemizi drt textbox, drt buton ve bir tanede GridView
yerletirelim.

r. Gr. Mslm ZTRK

Sayfa 10

Veritaban;

protected void Button1_Click(object sender, EventArgs e)


{
string Ad, Soyad, Adres, Ya;
Ad = TextBox1.Text;
Soyad = TextBox2.Text;
Adres = TextBox3.Text;
Ya = TextBox4.Text;
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
SOURCE=" + Server.MapPath("App_Data/deneme1.mdb"));
baglanti.Open();
OleDbCommand komut;
komut = new OleDbCommand("insert into OgrenciBilgileri (Ad,Soyad,Adres, Ya)
values ('" + Ad + "', '" + Soyad + "', '" + Adres + "', '" + Ya + "')", baglanti);
komut.ExecuteNonQuery();
Label1.Text = ("Bilgileriniz Baarl bir ekilde veritabanna kaydedildi.");
baglanti.Close();

r. Gr. Mslm ZTRK

Sayfa 11

}
protected void Button2_Click(object sender, EventArgs e)
{
string Ad, Soyad, Adres, Ya;
Ad = TextBox1.Text;
Soyad = TextBox2.Text;
Adres = TextBox3.Text;
Ya = TextBox4.Text;
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
SOURCE=" + Server.MapPath("App_Data/deneme1.mdb"));
baglanti.Open();
OleDbCommand komut;
komut = new OleDbCommand("DELETE From OgrenciBilgileri Where Ad='+ Ad +'",
baglanti);
komut.ExecuteNonQuery();
Label1.Text = ("Ad "+Ad+" veri baarl bir ekilde silindi.");
baglanti.Close();
}
protected void Button3_Click(object sender, EventArgs e)
{
string Ad, Soyad, Adres, Ya;
Ad = TextBox1.Text;
Soyad = TextBox2.Text;
Adres = TextBox3.Text;
Ya = TextBox4.Text;
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
SOURCE=" + Server.MapPath("App_Data/deneme1.mdb"));
baglanti.Open();
OleDbCommand komut;
komut = new OleDbCommand("Update OgrenciBilgileri Set Ya='"+Ya+"' Where
Ad='" + Ad + "'", baglanti);
komut.ExecuteNonQuery();
Label1.Text = ("Ad "+Ad+" olan kiinin Ya= "+Ya+" olarak gncellendi");
baglanti.Close();
}
protected void Button4_Click(object sender, EventArgs e)
{
string Ad, Soyad, Adres, Ya;
Ad = TextBox1.Text;
Soyad = TextBox2.Text;
Adres = TextBox3.Text;
Ya = TextBox4.Text;
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
SOURCE=" + Server.MapPath("App_Data/deneme1.mdb"));
baglanti.Open();
OleDbCommand komut;
komut = new OleDbCommand("Select * From OgrenciBilgileri", baglanti);

r. Gr. Mslm ZTRK

Sayfa 12

OleDbDataReader veri;
veri=komut.ExecuteReader();
GridView1.DataSource = veri;
GridView1.DataBind();
Label1.Text = ("Veriler baarl bir ekilde DataGrid'te gsterildi.");
baglanti.Close();
}

VERTABANINA KULLANICI EKLERKEN AYNI KULLANICI ADINDA BR


KULLANICININ OLUP OLMADIINI KONTROL EDEN KODUMUZ
Forma (1 adet Button ve 2 adette TextBox Eklenecektir.)
Button_Click Olayna;
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data
Source=" + Server.MapPath("App_Data/Mesajlarim.mdb"));
baglanti.Open();
OleDbCommand komut = new OleDbCommand("select* from Mesajlar where
Ad='"+TextBox1.Text+"'", baglanti);
OleDbDataReader dr;
dr = komut.ExecuteReader();

if (dr.Read())
{
Response.Write("bu isimde bir kulanc ad vardr. ltfen baka bir
kullanc ad belirleyiniz");
}
else
{
OleDbConnection baglan;
baglan = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data
Source=" + Server.MapPath("App_Data/Mesajlarim.mdb"));
baglan.Open();
OleDbCommand kmt = new OleDbCommand("insert into Mesajlar (Ad, Soyad)
Values ('"+TextBox1.Text+"', '"+TextBox2.Text+"')", baglan);
kmt.ExecuteNonQuery();
Response.Write("Yeni Kullancnz mthi bir ekilde kaydedildi");
baglan.Close();
}

r. Gr. Mslm ZTRK

Sayfa 13

!!!!ASP FLASH EKLEME!!!!


nce flash kontrol indirilerek daha sonra toolbox-------sa tkla--------choose items ten flash
kontrol eklenilir.Flashcontrolfor.net olarak googleden aratlr.)
MAL GNDERME KODU (YAPTIINIZ STE ZERNDEN MAL GNDERMEMZE
YARAYAN KOD BLOU)
Form Tasarm:
TextBox1.Text
TextBox2.Text
TextBox3.Text

TextBox4.Text

Sayfaya (4 tane TextBox ve 1 tane de Button Eklenecektir.)


// Using System.Net;
// Using System.Net.Mail;

Eklemeyi Unutmayn.

protected void Button1_Click(object sender, EventArgs e)


{
MailMessage mail = new MailMessage(); // Mail snfn Kullanyoruz.
mail.To.Add(TextBox1.Text); //gnderilecek olan mail adresi
mail.From = new MailAddress(TextBox2.Text); //kimden gnderilecek.
mail.Subject = "ardalartarim.com zerinden... Ad: " + TextBox3.Text;
//mailin konusu... txtad adl texboxtan da ismini aldrdm. kaldrabilirsiniz...
mail.Body = TextBox4.Text + "<br/><b>Gnderenin epostas:</b>" +
TextBox2.Text; //mailin ierii. txtmesaj ve txteposta textboxlar kullandm.
mail.IsBodyHtml = true; //html kodlarna izin verilsin.
SmtpClient client = new SmtpClient("smtp.gmail.com", 587); //gmail smtp
adresi tanmlamas
client.EnableSsl = true; // Gmail iin sslin aktif olmas gerekiyor.
NetworkCredential credentials = new NetworkCredential("ardalartaim@gmail.com",
"ardalar47"); //gmail kullanc ad ve ifre... ifre blmn deitirin(***)
client.Credentials = credentials;
try
{
client.Send(mail);
Response.Write("Mesaj gnderildi. Teekkr ederiz");
}
catch (Exception hata)
{
Response.Write(hata); //hata ayklama ile hata olduunda hata mesaj
yazdrlacak.
}

r. Gr. Mslm ZTRK

Sayfa 14

DROPDOWNLSTTEN SELEN BR LN LELERNN GSTERLMES


Forma (2 adet dropdownlist, App_Data altna ise rnek sadece bir il seildiinde o ile ait
ileler dropdownlist2 de gsterilecei iin ller ve leler adnda iki tane de veritaban tablosu
eklenecektir.)
Formumuz;

Not: ller ksmna istenilirse page_loada balant salanp dropdownliste iller gsterilebilir.
Kodumuz;
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList1.SelectedIndex == 1)
{
OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
SOURCE=" + Server.MapPath("App_Data/ileler.mdb"));
baglanti.Open();
OleDbCommand komut = new OleDbCommand("select * from ileler", baglanti);
OleDbDataReader dr = komut.ExecuteReader();
while (dr.Read())
{
ListItem item = new ListItem();
item.Text = dr["ilead"].ToString();
DropDownList2.Items.Add(item);
}
dr.Close();
baglanti.Close();
}
}

Ekran kts;

TRKE-NGLZCE SZLK UYGULAMASI


r. Gr. Mslm ZTRK

Sayfa 15

Veritabanmz;

Formumuz;

Kodumuz;
// Using System.Data;
// Using System.Data.OleDb;

Eklemeyi unutmaynz;

OleDbConnection baglanti;
baglanti = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; DATA
SOURCE=" + Server.MapPath("App_Data/deneme.mdb"));
baglanti.Open();
OleDbDataAdapter da = new OleDbDataAdapter("Select * From OgrenciBilgileri
where ingilizce like '%" + TextBox1.Text + "%'", baglanti);
DataSet ds = new DataSet();
da.Fill(ds, "OgrenciBilgileri");
GridView1.DataSource = ds;
GridView1.DataBind();
baglanti.Close();

LABELDE KAYIT SAYILARINI GRDVEWDE SE KAYITLARI GSTEREN C#


KODU
Formumuz;

r. Gr. Mslm ZTRK

Sayfa 16

Kodumuz;
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection baglanti;
baglanti = new SqlConnection("Data Source=Admin\\sqlexpress; initial
catalog=Baglan; integrated security=true");
baglanti.Open();
SqlCommand komut = new SqlCommand("Select count(*) From Uyekayit", baglanti);
object sayi=komut.ExecuteScalar();
Label1.Text = Convert.ToString(sayi);
baglanti.Close();
SqlConnection baglanti1;
baglanti1 = new SqlConnection("Data Source=Admin\\sqlexpress; initial
catalog=Baglan; integrated security=true");
baglanti1.Open();
SqlCommand komut1 = new SqlCommand("Select count(*) From UyeSayisi",
baglanti1);
object sayi1 = komut1.ExecuteScalar();
Label2.Text = Convert.ToString(sayi1);
baglanti1.Close();
}
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection baglanti;
baglanti = new SqlConnection("Data Source=Admin\\sqlexpress; initial
catalog=Baglan; integrated security=true");
baglanti.Open();
SqlCommand komut = new SqlCommand("Select * From Uyekayit", baglanti);

r. Gr. Mslm ZTRK

Sayfa 17

SqlDataReader dr = komut.ExecuteReader();
GridView1.DataSource = dr;
GridView1.DataBind();
baglanti.Close();
}

VER ERM KONTROLLER (DATA SOURCE KONTROLLER)


1. AccessDataSource Kontrol: (SqlDataSource Kontrol iinde ayn
mantk sz konusudur.)
GridView
ASP.NET 1.0 ve 1.1 ile gelitirdiimiz web uygulamalarnda ska kullandmz bir kontrol olan "DataGrid", yerini daha
gelitirilmi olan "GridView" kontrolne brakt. Aslna bakarsanz ASP.NET 2.0 "DataGrid" kontrolne hala sahip ve
ASP.NET 1.1 projelerinizde kullandnz DataGrid kontrolne de hala destek vermekte. ASP.NET 2.0'n sahip olduu
DataGrid kontrolnde de bir takm gelimeler var. rnein tema yapsna ve "AccessDataSource", "XmlDataSource" gibi
yeni Data Source kontrollerine destek veriyor.
Peki "GridView" kontrolnn "DataGrid" kontrolne gre avantajlar neler:

GridView kontrol, DataGrid kontrolnn aksine, mobil tarayclar tarafndan da gayet salkl biimde
grntlenebiliyor.
GridView kontrolne, "Se", "Dzenle", "Sil" gibi butonlar otomatik olarak ekletilebiliyor.
GridView kontrol zerinde, bir satr gncellemek ve ya silmek iin "hi" kod yazmanz gerekmiyor.
GridView kontrol zerinde sralama ilemi yapmak iin "hi" kod yazmanz gerekmiyor.

AccessDataSource
Bizi OLEDB ile balant oluturmak, SQL cmlelerini kodun iine yazmak gibi birok dertten kurtaran bir kontrol:
AccessDataSource.
AccessDataSource kullanarak veritabannzdaki bilgilerinizi GridView, DataGrid, DetailsView, FormView, Repeater gibi
kontroller zerine gstermek, dzenlemek, silmek gibi ilemler iin hemen hemen hi kod yazmanza gerek yok. Hatta
az sonra rneimizde de greceiniz zere; hi kod yazmanz gerektirmeyecek senaryolar bile olabilir.
Peki teknik olarak AccessDataSource kontroln nasl tanmlayabiliriz? Sanrm en uygun tanm "Access veritaban
(Access kullanlarak gelitirilmi veritaban katman diyerek genelleyebiliriz) ile i katmanmz arasndaki iletiimi
salayan .NET Framework 2.0 ile birlikte gelen yeni data kontroldr" olacaktr.

ki kontroln ortaklaa kullanm ile ilgili rnek


imdi bir rnek yapalm ve bu rneimiz az sonra oluturacamz Access veritabannda bulunan "Kullanicilar"
tablomuzdaki kaytlar dzenlememizi ve silmemizi salasn.
ncelikle Access uygulamamz aarak veritabanmz, tablomuzu ve kolonlarn oluturalm:

r. Gr. Mslm ZTRK

Sayfa 18

Oluturmu olduumuz tabloyu "Kullanicilar" ismi ile kaydettim. Dikkat ettiyseniz "AutoNumber" alannn etrafn
izdim; nk kayt dzenleme ve silme ilemlerimizde kullanacamz "AccessDataSource" kontrol
(SqlDataSource kontrol de ayn ekilde) dzenleme ve silme ilemleri iin "Key" zelliinde bir stun istiyor.

Oluturduumuz veritabann "Add Existing Item" seenei ile "App_Data" klasrmze ekleyelim:

r. Gr. Mslm ZTRK

Sayfa 19

Srasyla GridView ve AccessDataSource kontrollerini ekleyip, ilgili zelliklerini verelim:

r. Gr. Mslm ZTRK

Sayfa 20

GridView kontroln sayfamza srklediimizde, "Smart Tag" ekran otomatik olarak alacaktr:

"Smart Tag" ekrannda, "Choose Data Source" blmnde, "New Data Source..." seeneini seip, gerekli
admlar izleyerek yeni bir AccessDataSource oluturalm:
lk ekranda bizden istenen "Data Source Type" olarak "Access Database" seeneini setim. Bu seim, bizim
iin yeni bir "AccessDataSource" kontrol oluturacak. Ayrca DataSource ID'si olarak da
"dataSourceKullanicilar" yazdm:

r. Gr. Mslm ZTRK

Sayfa 21

lemimi onayladmda, karma MDB dosyamn nerede olduunu soran yeni bir ekran kt:

"Browse" butonuna tkladmda da, projemin ieriini gsteren yeni bir ekran ile karlatm ve bu ekranda da
projeme "db1.mdb" olarak eklediim dosyay setim:

r. Gr. Mslm ZTRK

Sayfa 22

lemi onayladmda, yine MDB dosyamn nerede olduunu soran ekrana geri dndm ve dosya yolunun
yazl olduunu grdm:
Not: Dosya yolunda bulunan " ~ " iareti .NET Framework iin projenin yolu ile e anlamldr.

imdi bu ekrandaki ilemimizi de onaylayalm ve bir sonraki ekranmz olan "Select" cmlemizin seilecei
ekrana geelim. "Select" cmlemizi yazacamz ekran aadaki gibi olacaktr:

r. Gr. Mslm ZTRK

Sayfa 23

Grm olduunuz gibi Access veritabanmzdaki tablomuz, tablomuzun sahip olduu alanlar gibi bilgiler
otomatik olarak alnd. imdi tm bilgileri ekecek olan "Select" cmlemizi oluturalm:

r. Gr. Mslm ZTRK

Sayfa 24

Artk "Select" cmlemize sahibiz.


Not: Ekranda grnmekte olan " Return only unique rows " seeneini semeniz durumunda, Select
cmlenizin ierisine "DISTINCT" kelimesi eklenir. Ayrca "Order By..." butonuna tklanarak sralama ilemi ile
ilgili bilgiler "Select" cmlesine eklenebilir ve "Where..." butonuna tklanarak da "Select" cmlesi ierisinde yer
alan "Where" ifadesi oluturulabilir.
imdi yapmamz gereken "Dzenle" ve "Sil" cmlelerini oluturmak. Bunun iin ekranda grnen "Advanced"
butonuna tklayacaz ve karmza yeni bir ekran kacak:

r. Gr. Mslm ZTRK

Sayfa 25

Karmza 2 seenek kt. Bunlardan ilki ekle, dzenle ve sil SQL cmlelerimizin oluturulup
oluturulmayaca. kinci seenek ilk seenei semediiniz srece aktif olmayan bir seenektir. kinci
seenein seilmesi durumunda, AccessDataSource kontrol dzenlemek istediimiz satrn en son "Select"
ileminden sonra baka birisi tarafndan gncellenip gncellenmediini kontrol eder ve gncelleme varsa
kullancy uyarr. Makalede bu konuya ayrntl olarak girmeyeceim.
imdi yalnzca ilk seenei iaretleyip "OK" butonuna basyorum:

r. Gr. Mslm ZTRK

Sayfa 26

"Select" cmlemizi oluturduumuz ekrana geri dndk. imdi "Next" butonuna basp bir sonraki ekranmz
olan "Test" ekranna geelim:

r. Gr. Mslm ZTRK

Sayfa 27

"Select" cmlemizi test etmek iin "Test Query" butonuna basalm:

r. Gr. Mslm ZTRK

Sayfa 28

Sorgumuz hibir hata almadan alt. Hi kayt olmad iin hi kayt getirmemesi tabi ki normal.
"Finish" butonuna basarak ilemi sonlandralm ve sayfamz grelim:

r. Gr. Mslm ZTRK

Sayfa 29

Grm olduunuz gibi, GridView kontrolmz tablomuzdaki alanlara gre kolonlarna otomatik olarak sahip
oldu, AccessDataSource kontrolmz otomatik olarak oluturuldu ve "Smart Tag" ekranna da yeni seenekler
geldi.
imdi sayfalama, sralama, dzenleme ve silme ilemlerini, "Smart Tag" ekranndaki seenekleri aadaki gibi
seerek aktif hale getirelim:

r. Gr. Mslm ZTRK

Sayfa 30

GridView kontrolmze yeniden baktmzda; Sayfalama satrnn eklendiini, "Edit", "Delete" butonlarnn
otomatik olarak eklendiini ve stun balklarnn otomatik olarak sralama ilemlerini gerekletirecek linkler
halini aldklarn grrz:

r. Gr. Mslm ZTRK

Sayfa 31

Sra geldi ngilizce olarak oluturulan butonlarmz Trke olarak deitirmeye. Bunun iin "Smart Tag"
ekranndaki "Edit Columns" seeneine tklamamz gerekmekte:

r. Gr. Mslm ZTRK

Sayfa 32

Alan ekranda "CommandField" stununu seelim:

r. Gr. Mslm ZTRK

Sayfa 33

Gerekli zellikleri deitirelim:


Not: (Ben bu ekranda ButtonType zelliini de "Link" deil, "Button" olarak deitirdim. Bu nedenle GridView
kontrolmzdeki butonlar artk link eklinde deil, buton eklinde gzkecektir)
Not: zelliklerin bulunduu ekranda, aada grm olduunuz ekran grntsnde grnende daha fazla
Trkeletirme seenei vardr. (NewText, InsertText, SelectText, vs.)

r. Gr. Mslm ZTRK

Sayfa 34

GridView kontrolmze tekrar bakalm:

r. Gr. Mslm ZTRK

Sayfa 35

Artk butonlarmz Trke yazlara sahipler. Veritabanna birka kayt atp, sayfamz altrmamzn zaman
geldi. ncelikle kaytlarmz ekleyelim:

r. Gr. Mslm ZTRK

Sayfa 36

imdi de sayfamz aalm:

r. Gr. Mslm ZTRK

Sayfa 37

"Coskun" kullancs zerine dzenle ilemi yapmak iin "Dzenle" butonuna tklayalm:

r. Gr. Mslm ZTRK

Sayfa 38

Grm olduunuz gibi ilgili satr "Dzenle" moduna geti, sol tarafndaki butonlar "Kaydet" ve "ptal" olarak
deiti, ayrca "Key" olarak tanmladmz "KullaniciID" harici alanlarda TextBox kontrolne dnt.
imdi kayt zerinde birka deiiklik yapalm:

r. Gr. Mslm ZTRK

Sayfa 39

Kaydet butonuna basalm:


Not: Kaydetme ilemi srasnda "Operation must use an updatable query." eklinde bir hata alrsanz, MDB
dosyanza "MakinaIsmi\ASPNET" kullancsnn yazma hakk olup olmadn kontrol etmeli ve eer hakk yok
ise bu hakk tanmlamalsnz.

r. Gr. Mslm ZTRK

Sayfa 40

Kayt ilemi baaryla tamamland. imdi bir tane kayt silelim. Ben 3 numaral kayd sileceim. Sil butonuna
bastm:

r. Gr. Mslm ZTRK

Sayfa 41

Ve artk 3 numaral kaydmz yok. Bir de veritabanndan bakalm:

r. Gr. Mslm ZTRK

Sayfa 42

Grm olduunuz zere kayt veritabannda da grnmemekte.


Sra geldi sralama ilemlerine. Kaytlarmz u anda veritabanndaki sralarnda. Kaytlarmz "AdSoyad"
alanna gre sralamak iin yapmamz gereken tek ey balna tklamak:

Hi kod yazmadan, sralama ilemini gerekletirdik. Eer tersten sralama yapmak istersek de, "AdSoyad"
alannn balna tekrar yazmamz yeterli:

r. Gr. Mslm ZTRK

Sayfa 43

UYGULAMA (GridViewde seilen bir kaytn ad ksmnn


textbox ta gsterilmesi)
Sayfaya (1 adet Accessdatasource, 1 adet gridview ve 1
adet textbox ekleyelim)
Bu uygulamada ilk bata sayfaya bir adet accessdatasource, bir adet gridview ve 1 adet textbox
eklenecek ve gridview Accessdatasource balanldktan sonra aadaki ilemler yaplacaktr.

GridViewi dan Enabled Selection seeneini seiniz. Bylelikle setiimiz satr belirlemi

r. Gr. Mslm ZTRK

Sayfa 44

olacaz.

Daha sonra GridView nesnemizi ift tklayarak GridView1_SelectedIndexChanged olayna aadaki


kodumuzu yazalm.
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
int deger;
deger = GridView1.SelectedIndex;
TextBox1.Text = GridView1.Rows[deger].Cells[2].Text;
TextBox2.Text = GridView1.Rows[deger].Cells[3].Text;
}

Bylece setiiz satra ait Ad kolonu textboxa aktarlacaktr.

REPORTVIEWER (

Raporlarmz grntlemek iin kullanlan bir kontroldr.


UYGULAMA
r. Gr. Mslm ZTRK

Sayfa 45

1) Yeni bir Web sayfas anz. Solution Explorerda bulunan projemizin ismini sa tklayarak Add New
Item seeneini tklaynz.

2) Karmza gelen Add New Item penceresinden DataSet objesini seerek Add butonuna basnz.
Karmza gelen uyar penceresinde Yes diyerek geelim. Solution explorerda App_Code klasr
oluacak ve ierisine DataSet1.xsd dosyasn eklendiini greceksiniz. Eklendikten sonra karmza
balant sihirbaz gelecektir. Sql Server dan veritabanmz tklayp veritabanmzda bulunan tablolar
gsterelim. Hangi tablolara ait rapor oluturmak istiyorsak o tabloyu srkle-brak mant ile
ekranmza tayalm. Tablo ekledikten sonra karmza tablonun kolonlar gelecektir.

3) Yine projemizin stnde sa tklayarak bu sefer Report nesnesini ekleyelim.

r. Gr. Mslm ZTRK

Sayfa 46

4) Report nesnemizi ekledikten sonra karmza Report Design gelecektir. Kolonlarmz DataSource
ksmnda grmemiz gerekiyor.

Yukarda Ekran grebilmemiz iin New----DataSet sekmesini tklamamz gerekiyor.


5) Kolonlardan Ad, Soyad ve Adres kolonlarn srkleyerek tasarm alanna koyunuz.

6) Default.aspx sayfasna ReportViewer kontrol ekleyiniz. Chose Report ksmndan Report.rdlc


dosyanz seiniz.

r. Gr. Mslm ZTRK

Sayfa 47

7) Kodumuzu altrdmzda kaydn geldiini grebiliriz. Report tasarm alanna gelerek tasarm
alanna chart (grafik) ekleyelim.

8) Grafik tipini deitirerek istediiniz grnty elde edebilirsiniz. Tasarm alanna eklenin grafiki
sa tklayarak Chart type belirleyiniz. Biz rneimizde Simple Column seeneinden gstereceiz.

r. Gr. Mslm ZTRK

Sayfa 48

9) Grafiimizi bir kez tkladmzda grafikin kenarlarnda alanlar oluur. Bu alanlar st tarafda
bulunan alan nemlidir. Buras gelen datalarmzn grafik eklinde olumasn salar. Sa taraf ise
hangi rengin kime ait olduunu gsterecek. Ad ve yas data kolonlarn srkleyip braknz.

10) Default.aspx sayfamz altrarak grafiimizin olumas salanacaktr.

r. Gr. Mslm ZTRK

Sayfa 49

Bylelikle basit bir dzeyde raporlamada ReportViewer kullanabiliriz.


NAVGASYON BURDAYIMMM!!!!!!!!!!!!!!

r. Gr. Mslm ZTRK

Sayfa 50

You might also like