UltraVB.Com | vBulletin Destek ve Geliştirme Forumu  

Geri git   UltraVB.Com | vBulletin Destek ve Geliştirme Forumu > Programlama > Yazılım > .Net Framework

.Net Framework Visual Studio.Net Temelini oluşturan .Net Framework hakkındaki akıllarda bulunan soruların cevapları bulabileceginiz önemli bir Türkçe kaynaktır. • NET Framework kütüphanesi • Common Language Runtime • Program örnekleri • Visual Studio .Net Patformu ve geleceği hakkında konular, makaleler, örnek kodlar

Tags: , ,

Cevapla
 
LinkBack Seçenekler Stil

Alt 02-07-2007   #1 (permalink)
Mendoza
 
SaidX - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Dec 2006
Nerden: Linux
Mesajlar: 474
Rep Gücü: 0
SaidX is an unknown quantity at this point
SaidX - MSN üzeri Mesaj gönder
SQLDMO DLL Kullanmak

SQLDMO.DLL Kullanmak (Bölüm 1)Bu makalede, Microsoft .Net platformunda yazılım geliştiren her programcının adını belki de hergün duyduğu ve üzerinde çalıştığı MS SQL Server üzerindeki tüm nesneler ile çalışmamızı, onları yönetmemizi ve bu işlemleri kendi geliştirdiğimiz uygulamadan yapmamızı sağlayacak olan SQLDMO isimli COM componenti hakkında sizlere bilgi verilecektir. Eğer sizde dış nesnelere kendi uygulamanız üzerinden erişip onları yönetmek için çalışmalar yapıyorsanız bu makale ilginizi çekecektir ve belki de SQL Server için Enterprise Manager' ınızı yapabilirsiniz. Makale örnek bir uygulama ile anlatılacak ve resimlerle desteklenecektir.
1.Öncelikle bir Windows uygulaması projesi açınız. Referanslara SQLMO 8.0 isimli DLL ' i ekleyiniz.(SQL Server 2000 yüklü biligisayarlarda SQL Server Service Pack 4 yüklü olmalıdır.) Referansın eklenmesinden sonra Solution Explorer ' ın görüntüsü Resim 1 deki gibi olmalıdır.
Resim 1
2. Form1 üzerine Resim 2 deki kontrolleri yerleştiriniz.
Resim 2
3. Form1 içerisinde Public olarak kullanılmak üzere aşağıdaki değişken tanımlarını Load Event' i üzerinde gerçekleştiriniz.

4. Form1' in Load Event' i içine aşağıdaki kodu yazınız. (Resim 3)

Resim 3
5. Projeyi çalıştırınız. Uygulama ağda bulunan SQL Sunucuları bulacak ve Combobox içine listeleyecektir. Burada SQL sunucular eklenmeden önce Seçiniz seçeneğinin de Combobox ' a eklendiğine dikkat ediniz. Bu seçenek daha sonra yapılacak olan işlemlerde kontrol amacıyla kullanılacaktır. Yukarıdaki kod sırası ile;
  • Önce cmbsunucular içine Seçiniz ' i ekler,
  • Daha sonra oSqlApp objesinin ListavailableSqlServers metodundan geri dönen NameList 'in içerik sayısı kadar bir döngü başlatılır,
  • Herbir sunucuyu (Namelist.Item(i) 'yi) combobox a ekler,
  • Combobox ın 0. item 'ını seçili yapar.
6. SQL Sunucuların listelendiği Combobox ta seçili index değiştiğinde (SelectedIndexChanged) uygulama , seçili index eğer 0(sıfır) dan büyükse yani seçilen seçenek "Seçiniz" değilse Public olarak tanımlanması yapılan ancak bir instance (örnek) ' ı oluşturulmamış olan osqlsrv isimli değişken için bir instance oluşturulur ve adına da comboboxtan seçilen değer atanır, SQLlogin isimli Radiobutton seçili hale getirilir , ve btnServerconnect isimli buton aktif hale getirilir.
Resim 4
7. Seçili SQL sunucuya bağlantı türünü yani SQL Auth ile veya Windows Authentication bilgileri bağlanılacağını Radiobutonlar kullanılarak seçebilirsiniz. Burada SQL Auth seçildiğinde uygulama kullanıcı ve şifre yazılması için Textbox' ları aktif hale getirir, Windows Auth seçildiğinde aktif Windows kullanıcısının bilgileri kullanılarak bağlantı sağlanacağından Textbox' ları pasif hale getirir. Bu ayarlama SQLDMO Server objesinin Loginsecure özelliği değiştirilerek sağlanır. Resim 5
8. btnServerconnect isimli butona tıklandığında uygulama Radiobutonları ile yapılan Login seçimine göre sunucuya bağlantı gerçekleştirir. Eğer bir sorun ile karşılaşılmazsa DatabaseListele isimli Sub yordamı çalıştırılır ve seçili sunucuya ait database isimleri combobox a doldurulur.
Resim 6

Resim 7
9. Databaselerin listelendiği Combobox' ın seçili index i değiştiğinde (cmbDatabases.SelectedIndexChanged) seçili database ' e ait tablolar (sistem tabloları hariç) alttaki cmbTables isimli combobox a doldurulur. Bu işlem sırasında eklenen tablonun tipinin SQLDMO.SQLDMO_OBJECT_TYPE.SQLDMOObj_SystemTable olmaması sağlanır ve en son olarak yine Seçiniz seçeneği seçili olacak şekilde cmbTables.selectedindex=0 yapılır.
Resim 8
10. Tabloların listelendiği Combobox ' ın seçili index i değiştiğinde (cmbTables.SelectedIndexChanged) uygulama seçili tablonun hangi tablo olduğunu bulur ve bunun Columns koleksiyonu için bir For Each d.ngüsü başlatır ve bu döngüde her ele aldığı objeyi clmn isimi tanımlanan SqlDmo.Column tipindeki objeye eşitler. Böylece tablonun döngü tarafından el alınan kolonu clmn objesi haline gelir ve artık bundan sonra bu objenin istenilen özelliğine ulaşılabilinir. Örnekte objenin yani kolonun bazı özellikleri ardarda eklenerek bir Msgbox aracılığı ile ekranda gösterilmektedir. Resim 9
SQLDMO Com DLL' ini incelediğimiz bu makalede özet olarak;
  • Ağda bulunan sql sunucuların listesi alındı,
  • Seçtiğimiz sunucuya bir login sekli seçilerek bağlantı sağlandı,
  • Seçili sunucuda bulunan databaseler alındı,
  • Bir database seçildiğinde buna ait olan ve tipi sistem tablosu olmayan tablolar listelendi,
  • Bir tablo seçildiğinde bu tabloya ait kolonların bazı özellikleri ekranda gösterildi.
SQLDMO sayesinde yapılabilecek olan işlemler tabiiki burada anlatılanlarla sınırlı değildir. Bu sınıf sayesinde SQL sunucu üzerinde daha birçok işlem gerçekleştirilebilmektedir. Bu işlemlere daha sonraki makalelerde devam edilecektir. Hepinize kolay gelsin..
__________________
sevince...
SaidX isimli Üye şimdilik offline konumundadır  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla

Cevapla

Anahtar Kelimeler
dll, kullanmak, sqldmo


Thread Tags
combobox secili degeri textbox a yollama




Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
3d Max'da Kullanmak Üzere Duvar Kaplamasi AraNeL Adobe Photoshop & İmageready 0 02-18-2007 18:10


Şu Anki Saat: 23:06


Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
Beşiktaş Tezahüratları