Professional Documents
Culture Documents
İnternet Programcılığı II
İnternet Programcılığı II
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 Grnts:
r. Gr. Mslm ZTRK
Sayfa 2
eklemeyi unutmayn!!!!!!!!!
Sayfa 3
komut.ExecuteNonQuery();
eklemeyi unutmayn!!!!!!!!!
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();
Sayfa 4
Veritabanmz;
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();
Sayfa 6
baglan.Close();
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.");
YE KAYDI FORMU
Veritabanmz;
Sayfa 8
Ekran Grnts;
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();
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");
}
Sayfa 10
Veritaban;
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);
Sayfa 12
OleDbDataReader veri;
veri=komut.ExecuteReader();
GridView1.DataSource = veri;
GridView1.DataBind();
Label1.Text = ("Veriler baarl bir ekilde DataGrid'te gsterildi.");
baglanti.Close();
}
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();
}
Sayfa 13
TextBox4.Text
Eklemeyi Unutmayn.
Sayfa 14
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;
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();
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);
Sayfa 17
SqlDataReader dr = komut.ExecuteReader();
GridView1.DataSource = dr;
GridView1.DataBind();
baglanti.Close();
}
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.
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:
Sayfa 19
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:
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:
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:
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:
Sayfa 24
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:
Sayfa 26
"Select" cmlemizi oluturduumuz ekrana geri dndk. imdi "Next" butonuna basp bir sonraki ekranmz
olan "Test" ekranna geelim:
Sayfa 27
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:
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:
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:
Sayfa 31
Sra geldi ngilizce olarak oluturulan butonlarmz Trke olarak deitirmeye. Bunun iin "Smart Tag"
ekranndaki "Edit Columns" seeneine tklamamz gerekmekte:
Sayfa 32
Sayfa 33
Sayfa 34
Sayfa 35
Artk butonlarmz Trke yazlara sahipler. Veritabanna birka kayt atp, sayfamz altrmamzn zaman
geldi. ncelikle kaytlarmz ekleyelim:
Sayfa 36
Sayfa 37
"Coskun" kullancs zerine dzenle ilemi yapmak iin "Dzenle" butonuna tklayalm:
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:
Sayfa 39
Sayfa 40
Kayt ilemi baaryla tamamland. imdi bir tane kayt silelim. Ben 3 numaral kayd sileceim. Sil butonuna
bastm:
Sayfa 41
Sayfa 42
Hi kod yazmadan, sralama ilemini gerekletirdik. Eer tersten sralama yapmak istersek de, "AdSoyad"
alannn balna tekrar yazmamz yeterli:
Sayfa 43
GridViewi dan Enabled Selection seeneini seiniz. Bylelikle setiimiz satr belirlemi
Sayfa 44
olacaz.
REPORTVIEWER (
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.
Sayfa 46
4) Report nesnemizi ekledikten sonra karmza Report Design gelecektir. Kolonlarmz DataSource
ksmnda grmemiz gerekiyor.
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.
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.
Sayfa 49
Sayfa 50