1 / 27

VB ile SQL SERVER’a bağlanmak

VB.net ile SQL SERVER’a bağlanmak. Zeliha Görmez. Bağlantı (connection) nedir. Genel olarak bağlantı,özel anlamada veritabanlarına bağlantı olaraka düşünülür. Tüm veri tabanlarında ortak bağlantı özellikleri vardır ayrıca her veri tabanının farklı bağlantı özellikleri de vardır. ADO.NET.

Download Presentation

VB ile SQL SERVER’a bağlanmak

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VB.net ile SQL SERVER’a bağlanmak Zeliha Görmez

  2. Bağlantı (connection) nedir • Genel olarak bağlantı,özel anlamada veritabanlarına bağlantı olaraka düşünülür. • Tüm veri tabanlarında ortak bağlantı özellikleri vardır ayrıca her veri tabanının farklı bağlantı özellikleri de vardır

  3. ADO.NET • ADO.NET : lokal yada uzak veritabanlarına,web sayfalarına,excel dokumanlarına erişimi sağlayan microsoftun veri erişim nesnesidir. • Activex Data Objects. • Programlar arası köprü • Bkz:http://www.bilisim-kulubu.com/sozluk/sozluk.php?e=ado

  4. Managed provider Çeşitli veri tabanlarına erişim için ,nesne yönelimli programlama tekniğine göre yazılmış sınıf kütüphaneleridir. Provider:sağlayıcı,tedarik eden kimse

  5. ADO.NET ,Manage provider • Ado.net varsayılan olaraka 2 adet managed provider’a sahiptir. • Bu provider ler belli veri tabanlarına bağlanmayı sağlarlar

  6. ADO.NET ,Manage provider • OleDB.Net data provider:OLE DB protokolünü destekleyen tüm veri tabanlarına erişim için kullanılır.(access,sql server,oracle) • SQL server.Net data provider:özellikle MS SQL SERVER veri tabanına erişim için hazırlanmı ve optimize edilmiştir.

  7. Sistemdeki provider lar • Sisteminizde yüklü provider lara görmk için: • 1- text dökuman oluşturun • 2-txt uzantılı oluşan dosyanın uzantısını .udl olarak değiştirin • 3-çift tıklayarak açın

  8. Managed provider ve sınıflar

  9. SQL SERVER.NET provider • Vb.net üzerinden ms sql server bağlantısını sql.server.net provider ile gerçekleştireceğiz. • OleDb ve sql server provider ile ms sql server bağlantısı karşılaştırıldığında sql server.net provider ile %70 performans farkı gözlenmiştir

  10. SQL SERVER.NET provider sınıfları • SqlConnection sınıfı (nesnesi) Veri tabanına bağlantıyı kurar • SqlCommand sınıfı (nesnesi) veri tabanında çalıştırılacak sorguları(query) içerir • SqlDataReader sınıfı (nesnesi)Sorgu sonucu veritabanından dönen veriyi tutar • SqlDataAdapter sınıfı (nesnesi)bağlantılı katman ile bağlantısız katman etkilişimini sağlar

  11. SqlConnection sınıfının property leri Property:özellik,nitelik,aidiyet 1-ConnectionString (bağlantı cümlesi) 2-ConnectionTimeOut(bağlantı süresi) varsayılan değer 15 saniye 3-Database(veritabanı) 4-DataSource

  12. 1-ConnectionString Bağlantı cümlesi bazı özel alanlar içerirSqlConnection("user id=xx;Password=xx;database=kutuphane;server=localhost") • User id: bağlantıda kullanılacak user(login) adı • Password: kullanıcının şifresi • Database:bağlantı kurulacak veritabanı • Server:veritabanın bulunduğu lokal yada uzak ms sql server

  13. VB.NET Connection(bağlantı) 1-connectionString vererek sqlconnection tanımlama Dim baglan As New SqlConnection("user id=xx;Password=xx;database=kutuphane;server=localhost") 2-Sonradan connectionString özelliğini set ederekDim baglan2 As New SqlConnection() baglan2.ConnectionString = "user id=xx;Password=xx;database=kutuphane;server=localhost"

  14. 1-ConnectionString Farklı bir bağlantı cümlesiSqlConnection("user id=xx;Password=xx; Initial Catalog=kutuphane; Data Source=localhost") • User id: bağlantıda kullanılacak user(login) adı • Password: kullanıcının şifresi • Initial Catalog:bağlantı kurulacak veritabanı • Data Source:veritabanın bulunduğu lokal yada uzak ms sql server

  15. VB.NET Connection(bağlantı) 1-connectionString vererek sqlconnection tanımlama Dim baglan As New SqlConnection("user id=xx;Password=xx; Initial catalog=kutuphane;Data Source=(local) ") 2-Sonradan connectionString özelliğini set ederekDim baglan2 As New SqlConnection() baglan2.ConnectionString = "user id=xx;Password=xx;Initial catalog=kutuphane;Data Source=(local)"

  16. 2-ConnectionTimeout bir bağlantının sağlanması için gerekli süreyi belirtir. Bu süre boyunca bağlantı sağlanamaması bir istisnanın fırlatılmasına neden olucaktır. Bu özellik yanlız-okunabilir (read-only) bir özellik olduğundan, değerini doğrudan değiştiremeyiz. Bunun için, bu özelliği ConnectionString içerisinde belirlememiz gerekir. baglan2.ConnectionString = "user id=xx;Password=xx;database=kutuphane2;server=localhost;Connection Timeout=10" Not:değeri sıfır verilirse bağlantı kurulana kadar beklenir,0 dan küçük olursa hata oluşur

  17. 3-Database bağlanılan veri tababının adını gösterir. Dinamik olarka değiştirilebilir.( ChangeDatabase() metodu) 4-DataSource Bağlanılan sql server adıdır

  18. SqlConnection sınıfının metodları 1-Open(), tanımlanan bağlantıyı açar,yani bağlantı kurarbaglan2.Open() 2-Close(),bağlantıyı kapatırbaglan2.Close() 3-ChangeDatabase(),veritabanını değiştirirbaglan.ChangeDatabase("master")

  19. SqlCommand sınıfı Sql server üzerinde çalıştırılacak sorgular (query) ler için kullanılır. Property(öznitelikleri) 1-CommandText( sorgu cümlesi) 2-CommandTimeout( sorgu süresi) varsayılan 30 saniye 3-CommendType (sorgu tipi) 4-Connection (bağlantı)

  20. SqlCommand sınıfıCommandType Command nesnesi ile işletilecek komutın türünü belirtir. A-CommandType.Text (varsayılan)string olarak atanan sql cümlesi B-CommandType. StoredProcedurestore procedure (saklı yordamlar) için C-CommandType.TableDirect

  21. SqlCommand sınıfıCommandTimeout Belirtilen komutun çalıştırılmaya başlanması için kaç saniye bekleneceğini belirtir.varsayılan değer 30 sn. Komut işlenmeye başlandıktan sonra işlem 100 saniyede olsa timeout (belirlenen zamanın dışına çıkmak demek) hatası olmaz Dim cmd As New SqlCommand("select * from yazarkitap") cmd.Connection = baglan cmd.CommandTimeout = 50

  22. SqlCommand sınıfıConnection Command nesnesinin hangi sqlConnection nesnesi üzerinden çalışacağını gösterir.

  23. SqlCommand sınıfı örnek tanımlamalar A-Dim cmd As New SqlCommand("select * from yazarkitap", baglan) 1.parametre:sorgu ,2.parametre:bağlantı adı B-Dim cmd As New SqlCommand() cmd.CommandText = "select * from yazarkitap" cmd.Connection = baglan C- Dim cmd As New SqlCommand("select * from yazarkitap") cmd.Connection = baglan

  24. SqlCommand sınıfı metodları A-cmd.ExecuteNonQuery()herhangi bir kayıt döndürmeyen ,sorgulama amaçlı olmayan komutlar çalıştırılır.(update,insert,delete gibi) Metodun geri dönüş değeri ,komut çalıştırıldığında etkilenen kayıt sayısıdır. 1 row(s) efected

  25. SqlCommand sınıfı metodları A-cmd.ExecuteScalar()istenen sorgunun sonucundaki ilk kaydın ilk kolonunu getirir.diğer satır v sütunlar görmezden gelinir.Sonucun tek bir kolon olduğu durumlarda etkilidir. Dönüş değeri,string de integer de olabilir

  26. SqlCommand sınıfı metodları A-cmd.ExecuteReader ()istenen sorgunun tüm sonucunu döndürür. Geri dönüş değeri SqlDataReader sınıfından bir nesnedir.Dim dtr As SqlDataReader dtr = cmd.ExecuteReader

More Related