• Sonuç bulunamadı

Yerel Veri Tabanına Bağlanmak ve Verileri Listelemek

N/A
N/A
Protected

Academic year: 2021

Share "Yerel Veri Tabanına Bağlanmak ve Verileri Listelemek"

Copied!
22
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Ankara Üniversitesi

Nallıhan Meslek Yüksekokulu

Yerel Veri Tabanına Bağlanmak ve Verileri Listelemek

İLERI GÖRSEL PROGRAMLAMA

ÖĞR.GÖR. MAHMUT KILIÇASLAN

(2)

Konular [1]

ADO.NET

ADO.NET Veri Erişim Modelleri

◦ Bağlantılı (Connected) model

◦ Bağlantısız (Disconnected) model

ADO.NET Sınıfları

Örnek uygulama

(3)

ADO.NET [1]

ActiveX Data Objects (ActiveX Veri Nesneleri) Microsoft’un veri erişim teknolojisidir

Tüm .NET dilleri (Visual Basic.NET, C# ve diğerleri) için ortak bir teknolojidir

Visual Studio kurulumu ile Sql Server, Oracle ve Access veritabanları erişim için gereken eklentiler kurulu gelmektedir.

Diğer veritabanları için, ör: MySQL, veritabanına özel sürücü

kurularak onlara da bağlantı yapılabilir

(4)

ADO.NET veri erişim modelleri [1]

Bağlantılı (Connected) model

◦ Tek yönlü okuma veya yazma işlemi

◦ Veriler güncel

◦ Veritabanı bağlantısı sürekli açık

◦ Ağ trafiği yoğun

Bağlantısız (Disconnected) model

◦ Çift yönlü okuma ve yazma

◦ Veriler yerel olarak kaydedilir ve güncel değildir

◦ Veritabanı bağlantısı sürekli açık değildir

◦ Ağ trafiği nisbeten azdır

(5)

ADO.NET veri erişim modelleri [1]

(6)

ADO.NET sınıfları [1]

Kullanılacak veritabanı türüne göre XXX yerine Sql, OleDb, Oracle veya Odbc ön ekleri kullanılmaktadır.

Örneğin Sql Server için bağlantı nesnesi SqlConnection olmaktadır.

Veritabanı türü Bağlantı nesnesi

Sql Server 2000, 2005 veya 2008

SqlConnection

Oracle

OracleConnection

Odbc veri kaynağı

OdbcConnection

Access ve diğer veritabanları

OleDbConnection

(7)

ADO.NET Sınıfları [1]

Diğer bazı sınıflar

Sınıf adı Sql Server Oracle Access v.b.

XxxConnection SqlConnection OracleConnection OleDbConnection XxxCommand SqlCommand OracleCommand OleDbCommand XxxDataAdapter SqlDataAdapter OracleDataAdapter OleDbDataAdapter XxxDataReader SqlDataReader OracleDataReader OleDbDataReader

DataSet DataSet DataSet DataSet

(8)

ADO.NET sınıfları [1]

Bu sınıfları kullanmak için kodumuza belli kütüphaneleri using ifadesi ile eklememiz gerekmektedir.

Örneğin SqlConnection, SqlCommand gibi Sql Server’a özel sınıfları kullanmak için kodumuza aşağıdaki ifade eklenmelidir

using System.Data.SqlClient;

(9)

ADO.NET sınıfları [1]

Diğer veritabanları için gerekli using ifadeleri:

Veritabanı türü using ifadesi

Sql Server 2000, 2005, 2008 System.Data.SqlClient

Oracle System.Data.OracleClient

Odbc System.Data.OdbcClient

Access ve diğerleri System.Data.OleDbClient

(10)

ADO.NET sınıfları [1]

Bağlantılı veri erişiminde kullanılan sınıflar ve kullanım amaçları

Sınıf Amaç

SqlConnection Veritabanına bağlantı kurar, diğer nesneler bu nesne üzerinden sorgulama yaparlar

SqlCommand Veritabanı üzerinde sorgu (SELECT, DELETE, INSERT v.b.) çalıştırılmasını sağlar.

SqlDataReader SqlCommand ile çalıştırılan bir SELECT

sorgusunun sonucunu satır satır okumaya

yarar

(11)

ADO.NET sınıfları [1]

Bağlantısız veri erişiminde kullanılan sınıflar ve kullanım amaçları

Sınıf Amaç

SqlConnection Bağlantılı kullanımla aynıdır, ortak bir sınıftır.

SqlDataAdapter Veritabanından kayıtları çekmek, çekilen kayıtlarda yapılan değişiklikleri de tekrar veritabanına kaydetmek için kullanılır.

DataSet

Veritabanından çekilen kayıtların depolanması ve yönetilmesi amacıyla kullanılır.

Tüm veritabanı türleri için bu sınıf ortaktır.

(12)

ADO.NET sınıfları [1]

Herhangi bir ADO.NET sınıfı kullanılırken önce new operatörü ile oluşturulur.

SqlConnection c = new SqlConnection();

Oluşturulan değişken üzerinden nesnenin özellikleri değiştirilir veya metotları çağrılır

c.ConnectionString = @" ……… ";

c.Open( );

c.Close( );

(13)

ADO.NET sınıfları [1]

Örnek bir SqlCommand kullanımı

SqlCommand cmd = new SqlCommand( );

cmd.Connection = c;

cmd.CommandText = "DELETE FROM müşteriler WHERE ID=1";

cmd.ExecuteNonQuery( );

Bu kod parçası kurulan “c” bağlantısı üzerinden musteriler tablosundaki ID

değeri 1 olan kayıt silinmektedir.

(14)

ADO.NET sınıfları [1]

SqlCommand nesnesinde kullanılan özellik ve metotların amaçları

Özellik/Metot Amaç

cmd.Connection Sorgulamanın hangi bağlantı üzerinden yapılacağını belirler cmd.CommandText Hangi SQL sorgusunun çalışacağını belirler. Buraya geçerli bir

SQL sorgusu (SELECT, DELETE, INSERT v.b.) yazılmalıdır.

cmd.ExecuteNonQuery( ) Yazılan, geriye sonuç döndürmeyen sorguyu çalıştırır. Yazılan sorgu SELECT dışında bir sorgu olmalıdır.

cmd.ExecuteScalar( ) SELECT sorgusu sonucu geriye dönen ilk değeri almak için kullanılır

cmd.ExecuteReader( ) SELECT sorgusu sonucu geriye dönen satırları SqlDataReader

ile satır satır okumak için kullanılır

(15)

Örnek bir uygulama [1]

Veritabanındaki en son sipariş tarihini textBox içine yazdıran program.

Bunun için gerekli database Sql server aracılığı ile oluşturulur. Bu

uygulamaya başlamadan SQL SERVER üzerinde veritabanı örnek veriler ile doldurulmuş olarak hazırlanmalıdır.

Dosyalar hazırlandıktan sonra Visual C# Express Edition açılır ve yeni bir

proje oluşturulur….

(16)

Örnek bir uygulama [1]

Yeni proje oluşturma yollarından birisi Start Page’deki Create seçeneğini

kullanmaktır

(17)

Örnek uygulama [1]

Proje türü:

“Windows Forms Application”

Proje adı :

“VtIlkDeneme”

(18)

Örnek bir uygulama [1]

Form üzerine bir TextBox kontrolü (textBox1) konuluyor…

TextBox’ın

Multiline özelliği true Dock özelliği Fill olarak

seçiliyor

(19)

Örnek uygulama [1]

Form ekrana geldiğinde müşterilerin textbox1’e yüklenmiş olmasını istiyoruz Bunun için Form’un Load olayına kod yazacağız.

Events(Olaylar) ekranından Load’a çift

tıklayarak da aynı iş yapılabilir

Load olayına kod yazmak için Form’un boş bir kısmına çift

tıklanıp, kod ekranı

açılmalıdır

(20)

Örnek uygulama [1]

private void Forml_Load(object sender, EventArgs e) {

SqlConnection c = new SqlConnection(); c.ConnectionString = @"Data Source=.\SQLEXPRESS;

AttachDbFilename=C:\dell\ticaret.mdf;

Integrated Security=True;

Connect Timeout=30;

User Instance=True";

c.Open();

SqlCommand cmd = new SqlCommand("SELECT * FROM musteriler", c);

SqlDataReader r = cmd.ExecuteReader();

while (r.Read())

textBox1.Text += r["must_ad"] + "\r\n"; r.Close();

c.Close();

}

(21)

Örnek uygulama [1]

F5 tuşuna veya çalıştır tuşuna basarak program

çalıştırılır

(22)

Kaynaklar

1. Karabulut M. 2012, Görsel Programlama II Ders Sunuları

Referanslar

Benzer Belgeler

Yerel veri tabanına bağlanmak ve verileri listelemek Uzak veritabanında verileri işlemek İstatistiksel sorgulamalar yapmak Veritabanından grafikler elde

sadece bir hücreyi – gösterebildiği için bir kaydın tüm alanlarını göstermek için alan sayısı kadar kontrol – örneğin TextBox – kullanmak gerekmektedir..

– In the Solution Explorer select File > Save – Using Save All will save the source code and the project. • Run the project

 Yine, Query sayfasında yazılan Stored Procedure kodlarını siliniz ve sonuçların gösterilmesi için gerekli olan kodları yazınız. Resim 2.21: Stored

Veri tabanından sorgulama yapmak için SELECT, ekleme yapmak için INSERT güncelleme yapmak için UPDATE, silme yapmak için DELETE, yeni tablo oluşturmak için CREATE TABLE gibi

Management Studio ile veri tabanının T-SQL script’ini oluşturmak için veri tabanı üzerinde sağ klik yapıldıktan sonra açılan menüden Tasks\Generate Scripts komutu

SQL (Structured Query Language), ilişkisel veri tabanı yönetim sistemlerinden veri almak, veri tabanında bulunan veriyi düzenlemek veya sisteme veri girişi yapmak için kullanılan

 Veritabanı yönetim sistemleri öncesinde veri depolamak için kullanılan sistemlerdir... VT