ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ



Benzer belgeler
A- VERİTABANI BAĞLANTISINI HAZIR NESNE KULLANARAK YAPMA

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ.

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME

BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İŞLEMLERİNİN BİRLİKTE ANLATIMI

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz.

User Control : Standart bir kullanıcı arabirimi oluşturarak; bir uygulama içinde birden fazla. Siteye User Control Eklemek : 22 Mart 2012 / Perşembe

SINIF İÇİ UYGULAMA KODLARI

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü seçiyoruz

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

Sağ Tıkla. 5 Ocak 2012 / Perşembe. Yeni bir site açıyoruz. File New Web Site Browse yeni klasör ocak5persembe OK

İNTERNET TABANLI PROGRAMLAMA- 11.ders FORM UYGULAMASI (DROPDOWN BİLGİ YÜKLEME, VALIDATION KONTROLLERI, PAREMETRELİ KAYIT YAPMA)

Kitap Ekle linki tıklandığında, admin.aspx sayfamızın görüntüsü aşağıdaki şekilde olacaktır.

VERİ TABANI İŞLEMLERİ (NESNE TABANLI PROGRAMLAMA TEKNİĞİ İLE)

C#.Net & Linq (Language Integrated Query)

12 Ocak 2012 / Perşembe

VERİTABANINA BİLGİ KAYDEME, DÜZENLEME, LİSTELEME İŞLEMLERİ

C Sharp /Veri tabanı işlemleri

MASTER PAGE SAYFASI KULLANIMI

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table;

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1

GridView ve DetailsView kullanarak kayıt düzenlemek

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak:

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

BİLGİLERİ GRIDVIEW DE GÖRÜNTÜLEME VE DÜZENLEME

İNTERNET TABANLI PROGRAMLAMA- 12.ders

VeriTabanı Uygulamaları

VERİTABANI NEDİR? ADO.NET

1.adım : Sql serverda Stored procedure oluşturmamız gerekiyor. Şu adımları izliyoruz.

İNTERNET TABANLI PROGRAMLAMA- 3.ders

İNTERNET TABANLI PROGRAMLAMA

Veritabanı İşlemleri

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx

Vbnet Vbne access bağ ba lant lan ı t s ı ı s, ekleme, güncelleme,,silme

Yeni site açıp, masa üstündeki vt.mdb dosyasını sitemize ekliyoruz ve a bağlanıp 1 Mart tarihli sayfayı açıyoruz

ASP.NET ORTAMINDA C# VERİTABANI UYGULAMALARI

VISUAL STUDIO.NET ve Veritabanı

Response : Sunucunun istemciye veri yollamasını

MEKANİZMA TEKNİĞİ (7. Hafta)

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

C# ÖRNEKLERİ.

Resmin dosya adı tutulacaktır. Ve program yolu ile path(yolu ile) sayafaya eklenecektir.

ADO.NET ve DATASET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

1) Visual Studio da WebSiteemlakci adında yeni bir site oluşturuyoruz.

İNTERNET TABANLI PROGRAMLAMA- 7.ders

Bu uygulamayı yapabilmek için SQL Server'da Query Analyzer kullanabilmekle beraber, ADO.NET bilgisine sahip olmanız gerekir.

Veri Merkezli Uygulamalar Bağlantılı (Connected) Veri Ortamları

Veritabanı İşlemleri

İNTERNET TABANLI PROGRAMLAMA- 13.ders A-GRIDVIEW, DETAILSVIEW, ACCESSDATASOURCE NESNELERİ İLE BİLGİ GÖRÜNTÜLEME

1 Aralık 2011 / Perşembe

Proje 1. Arayüz Tasarımı

DetailsView. DetailsView kontrolünün GridView kontrolüyle paralel şekilde kullanımı ile ilgili örnek

ASP.NET ile Bir Web Sitesi Oluşturma

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ

ADO.NET nesne modeli iki ana bölümden oluşmaktadır.

C# ve SQL Server ile Resim Yükleme ve Login İşlemi

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Geliştirme Klavuzu İlk Uygulama Hello World

İNTERNET PROGRAMCILIĞI DERSİ

24 Kasım 2011 / Perşembe

ADO.NET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Android Ders Notları

Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz..

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 9 Tema Kullanımı

KRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ

LINQ Language Integrated Query Dille Bütünleştirilmiş Sorgu Bir Veri Tabanı Tablosundan Veri Gösterme

HSancak Nesne Tabanlı Programlama I Ders Notları

SQL Komutları (2) Uzm. Murat YAZICI

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

MOBİL UYGULAMA GELİŞTİRME

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

15 Aralık 2011 / Perşembe.

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

Veritabanı ve Yönetim Sistemleri

İl İlçe uygulaması. : Seçilen ile ait ilçeleri listeleyen program. //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız.

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

VERİTABANI. SQL (Structured Query Language)

Burak Kıymaz JAVA FX

Android ile SQLLite Veri Tabanı

1 Mart 2012 / Perşembe

T.C. SAKARYA ÜNİVERSİTESİ ADAPAZARI MESLEK YÜKSEKOKULU WEB TABANLI VERİ TABANI UYGULAMASI YÖNLENDİRİLMİŞ ÇALIŞMA. Enes Al 1027.

C# Console Uygulamaları ifelse Yapıları 2

CetaSoft Ofis E-Ticaret Modülü ile Sunulan Web Servisleri

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir

Üst Düzey Programlama

SAYFALAR ARASI LİNK VERME VE BİLGİ TAŞIMA YÖNTEMLERİ

Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım.

BİLİŞİM TEKNOLOJİLERİ

MVC. Görüldüğü üzere 2 adet cs. Dosyası oluşturdum. Birincisi çok satır kodu (20-25) içeren büyük işlerin yapılacağı class. İsmi buyuk_isler.

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

ORT3167 İnternet Programcılığı 1 Ders1-2. Öğr. Grv. Aybike ŞİMŞEK

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Transkript:

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ Asp.NET mimarisinin temelini oluşturan CLASS yapısını kullanarak veri tabanı işlemlerini nasıl daha az kodla ve daha stabil yapabiliriz bunu göreceğiz. Mevzu ilk etapta karışık gibi görünse de projelerinizde bu yapıyı kullanmaya başladığınızda esasında işinizi ne kadar kolaylaştırdığını ve veri tabanı işlemlerini ne kadar hızlı yaptığınızı göreceksiniz. Ben örneği Access veri tabanı üzerinden yapacağım ama mantığı anladığınız takdirde zaten bütün veri tabanları için yapılacak işlemler aynı. Hikayemizde kişileri kaydettiğimiz bir listesi olsun. Listede Kişi Adı, Telefonu, Email adresi olsun. Öncelikle veri tabanımızı oluşturalım ben veri tabanına classdb adını vereceğim. Veri tabanını oluşturduktan sonra Kişiler adında bir tablo oluşturalım. Tablonun elemanlarının KisiID, KisiAdi, KisiTel ve KisiEmail olduğunu varsayalım.

Veri tabanını Projeye Ekleme Oluşturduğumuz Web sitemize ekleyebilmek için bir App_Data klasörüne ihtiyacımız var. Bu klasörü proje adımıza sağ tıklayarak Add > Add ASP.NET Folder > App_Data yolunu izleyerek ekleyebiliriz.

App_Data klasörünü ekledikten sonra içine classdb (Ben classdb vermiştim) isimli veri tabanını atıyoruz.

Veri tabanıyla olan işimiz bitti. Şimdi bu veri tabanı üzerinde işlem yapmamızı sağlayacak Select, insert,update ve delete işlemlerini yapmamızı sağlayacak olan class ımızı oluşturacağız. Class ın Oluşturulması Asp.NET class ları App_Code klasörünün içinde tutuyor. O bakımdan ilk önce bu dosyayı oluşturuyoruz. Yukarıda App_Data klasörü ile aynı adımları izleyerek (Add > Add ASP.NET Folder > App_Class ) dosyamızı ekliyoruz. App_Code dosyasını ekledikten sonra bu dosyaya sağ tıkjlıyoruz ve Add > Add New Items yolunu izleyoruz. Açılan pencereden Class öğesini seçiyoruz Add butonuna tıklamadan önce Class ımıza bir isim veriyoruz ben Baglantim.cs dedim.

Artık Class ımızı kodları yazmak için hazır. Veri tabanı ve Class ımızı oluşturduktan sonra Solution Explorer kısmında bu eklediğimiz klasörleri görebiliyor olmamız lazım.

Veri Tabanının Bağlanması App_Data içine koyduğumuz veri tabanı üzerinde çalışabilmemiz için projemize dahil etmemiz gerekmektedir. Bunun çeşitli yolları vardır. Ben genellikle veri tabanını web.config dosyası üzerinden bağlıyorum ama siz isterseniz oluşturduğumuz Baglantim.cs içinden de bu bağlantıyı yapabilirsiniz. Web.config içine <connectionstrings> <add name="baglanti" connectionstring="provider=microsoft.jet.oledb.4.0 ;Data Source= DataDirectory \ClassDB.mdb" providername="system.data.oledb"/> </connectionstrings> Şeklinde bağlantımızı tanımlıyoruz. Class Dosyasının İçeriği Veri tabanını bağladıktan sonra sıra class ımızı yazmaya geldi. Öncelikle clasımıza using System.Data; using System.Data.OleDb; using System.Web.Configuration; // web.config içindeki bağlantıyı alacak bu 3 namespace i ekliyoruz. Ben Access ile çalıştığım için OleDb namespace ini ekledim siz veritabanına göre namespace i değiştirebilirsiniz.

Class ımıza web.config dosyasında tanımladığımızı veri tabanı bağlantısını tanımlıyoruz. public OleDbConnection baglan() string bag_str = WebConfigurationManager.ConnectionStrings["baglanti"].ConnectionString; OleDbConnection baglanti = new OleDbConnection(bag_str); baglanti.open(); // baglanti connection açıyoruz return (baglanti); //baglanti connection döndürüyoruz Kafa karıştırmamak için çok fazla detaya girmeyeceğim sadece burada oluşturduğumuz public nesnesinin proje boyunca ihtiyacımız olacak veri tabanı bağlantısını gerçekleştirecek olmasını bilin yeter. İnsert, Delete,Update İşlemleri için Fonksiyonun Oluşturulması Bu işlemleri yapmak için ayrı ayrı fonksiyonlar oluşturmamıza gerek yok. Yazdığımız sorguyu okuyacak ve ona göre bize döndürecek bir fonksiyon bu aşamada işimizi fazlasıyla görecektir. public int idu(string sqlcumle) OleDbConnection baglan = this.baglan(); OleDbCommand sorgu = new OleDbCommand(sqlcumle, baglan); int sonuc = 0; try

sonuc = sorgu.executenonquery(); catch (OleDbException ex) throw new Exception(ex.Message); sorgu.dispose(); baglan.close(); baglan.dispose(); return (sonuc); DataTable ile İşlem Yapmak için Fonksiyonu Oluşturalım Select işlemlerinde işimize yarayacak bu fonksiyon belki de projelerimizde en çok kullanacağımız fonksiyon bu olacak. public DataTable DataTableGetir(string sql) OleDbConnection baglan = this.baglan(); OleDbDataAdapter adapter = new OleDbDataAdapter(sql, baglan); DataTable dt = new DataTable(); try adapter.fill(dt); catch (OleDbException ex)

throw new Exception(ex.Message); adapter.dispose(); baglan.close(); baglan.dispose(); return dt; Esasında bu iki fonksiyon işimizi görür. Bu iki fonksiyon ile insert, update, delete ve select işlemlerimizi yapabiliriz. Fakat yazılım yaparken her zaman eğer aynı işi daha az kodla yapabiliyorsan, daha az kodla yap felsefesi işler. Bura da fonksiyonlarımıza bir yenisini daha ekleyip DataTableGetir fonksiyonuyla içini doldurduğumuz DataTable ın sadece ilk satırını alacağız. Zaten çoğu select cümlesi sadece ilk satır için yapılmıyor mu? public DataRow DataRowGetir(string sql) DataTable tablo = DataTableGetir(sql); if (tablo.rows.count == 0) return null; return tablo.rows[0]; Bu fonksiyon ile DataTable ın sadece ilk satırını okuyoruz. FONKSİYONUN KULLANILMASI Şimdi sıra geldi hazırlamış olduğumuz fonksiyonu kullanmaya. Öncelikle

Fonksiyonu kullanacağımız.cs sayfasının namespace lerine using System.Data; yı ekliyoruz ve fonksiyonumuzu aşağıdaki gibi çağırıyoruz. using System.Data; //namespace i ekliyoruz public partial class _Default : System.Web.UI.Page Baglantim bg = new Baglantim(); //Fonksiyonumuzu çağırıyoruz protected void Page_Load(object sender, EventArgs e) İnsert İşlemi İnsert.aspx > <asp:textbox ID="Kisi_Adi" runat="server"></asp:textbox> <asp:textbox ID="Kisi_Tel" runat="server"></asp:textbox> <asp:textbox ID="Kisi_Email" runat="server"></asp:textbox> <asp:button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> </div> insert.aspx.cs

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; //mutlaka ekliyoruz public partial class insert : System.Web.UI.Page Baglantim bg = new Baglantim(); // Fonksiyonumuzu çağırıyoruz protected void Page_Load(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) string adi = Kisi_Adi.Text.ToString(); string email = Kisi_Email.Text.ToString(); string tel = Kisi_Tel.Text.ToString(); bg.idu("insert into Kisiler (KisiAdi,KisiTel,KisiEmail) Values ('"+adi+"', '"+tel+"', '"+email+"')"); // insert cümlemiz görüldüğü gibi tek satırda insert olayını halletmiş oluyoruz.

Update İşlemi insert işleminin aynısı sadece insert cümlesi yerine update cümlesi yazıyoruz bg.idu("update Kisiler SET KisiAdi='"+adi+"', KisiTel='"+tel+"',KisiEmail='"+email+"' where KisiID=1"); Burada siz where KisiID kısmını nasıl isterseniz öyle düzenleyebilirsiniz. Ben 1 numaralı ID deki kişiyi update ettim. Delete İşlemi bg.idu("delete from Kisiler Where KisiID=1"); Select İşlemi select.aspx <div> <asp:repeater ID="getir" runat="server"> <ItemTemplate> <%#Eval("KisiAdi") %> <br /> </ItemTemplate> </asp:repeater> </div> select.aspx.cs

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; public partial class Select : System.Web.UI.Page Baglantim bg = new Baglantim(); // Fonksiyonu çağırıyoruz protected void Page_Load(object sender, EventArgs e) DataTable dt = bg.datatablegetir("select * From Kisiler"); // select cümlesi this.getir.datasource = dt; this.getir.databind(); DataTable ımızı tek satır kod ile doldura biliyoruz. Peki sadece ilk satıra ihtiyacımız olsaydı

Select.aspx sayfasında </asp:repeater> den sonra bir label ekleyelim ve ID sine ilk_satir diyelim <asp:label ID="ilk_satir" runat="server" Text="Label"></asp:Label> bu şekilde select.aspx.cs kısmına da aşağıda ki gibi ilk satırı yazdıralım DataRow dr = bg.datarowgetir("select * From Kisiler"); ilk_satir.text = dr["kisiadi"].tostring(); Umarım faydalanabileceğiniz bir anlatım olmuştur örnek dosyayı Buradan indirebilirsiniz. Sorularınız olursa elimden geldiğince yanıtlamaya çalışırım.