working with vbscript adodb connection objects
VBScript Bağlantı Nesnelerine Giriş: Öğretici # 12
Benim öncekinde VBS eğitimi , ' Excel Nesneleri ’VBScript’te. Bu eğitimde, şu konuları açıklayacağım: Bağlantı Nesneleri VBScript'te kullanılan.
VBScript farklı türde nesneleri destekler ve Bağlantı Nesneleri bunlar arasındadır. Bağlantı Nesneleri temel olarak Kodlayıcılara Veritabanı Bağlantıları ile çalışması ve ilgilenmesi için destek sağlayan nesneler olarak adlandırılır.
Bu eğitim, VBScript'teki Bağlantı Nesneleri'nin farklı özellikleri ve yöntemleri dahil olmak üzere tüm yönlerini ve kolay anlamanız için basit örneklerle size yol gösterecektir.
Ne öğreneceksin:
- Genel Bakış
- Bağlantı Nesnelerinin Özellikleri ve Yöntemleri
- ADODB Bağlantı Nesnesini Kullanarak Veritabanı Bağlantısı Kurma
- ADODB Bağlantı Nesnesini Kullanarak Verileri Excel Dosyasına Verme
- ADODB Bağlantı Nesnesini Kullanarak Verileri Metin Dosyasına Verme
- Sonuç
- Önerilen Kaynaklar
Genel Bakış
SQL Server, PL / SQL vb. Gibi herhangi bir Veritabanının Kurulmuş Veritabanı Bağlantıları ile çalışmak için bilgisayarınızda.
Bu nedenle, QTP'deki veritabanına bağlanmak için herhangi bir düz ileri mekanizma yoktur. Ama yardımıyla ADODB Nesneleri , veritabanıyla etkileşim kurabilir ve verileri veritabanından almak için SQL Sorguları ile çalışabilirsiniz.
ADO duruyor ActiveX Veri Nesneleri ve bu, mekanizmanın QTP ve Veritabanı arasında bir aracı olarak hareket etmesini sağlar.
Bu konu Veritabanı ile çalışmanın temelini oluşturdu ve daha iyi anlarsanız uzun vadede size çok yardımcı olacaktır.
Veritabanıyla çalışmak için yazılması gereken tüm farklı kodları, özellikleri ve yöntemleri kolay bir şekilde anlamanızı sağlamaya çalışacağım, böylece kendi başınıza kolayca bir kod parçası yazabilirsiniz.
Şimdi, veritabanıyla bağlantı kurmaya yardımcı olan Özellikler ve Yöntemlerle başlayalım.
Bağlantı Nesnelerinin Özellikleri ve Yöntemleri
Veritabanından veri çıkarmayı destekleyen farklı özellikler ve yöntemler vardır.
ücretsiz özel sunucu için vay oyna
ADODB Bağlantı Nesnesi özelliklerinin listesi aşağıdaki gibidir:
# 1) Bağlantı dizesi :
Bu, bir veritabanı bağlantısı oluşturmak için kullanılan ve veri tabanının ayrıntıları gibi bağlantı ayrıntılarını içeren çok kullanışlı bir özelliktir. Sürücü, Veritabanı Sunucusu adı, Kullanıcı Adı ve Parola .
# 2) Bağlantı Zaman Aşımı :
Bu, gerekli zamanı tanımlamak için kullanılır. bekleme bir bağlantının kurulması için.
# 3) Sağlayıcı :
Bu özellik, sağlayıcıyla ilgili tüm ayrıntıları sağlar, örn. Bağlantı Sağlayıcı .
# 4) Eyalet :
Bu, bağlantının durumu hakkında bilgi sağlar, yani Bağlantı Açık veya kapalı .
Yukarıda bahsedilenler, bir Bağlantı Nesnesinin özellikleridir. Ancak, bir RecordSet Nesnesi ayrıca (bir süre sonra tartışacağız).
Özelliklerinin listesi aşağıdaki gibidir:
# 1) BOF:
Bu özellik, mevcut kaydın konumunu bilmek için kullanılır. Mevcut kaydın konumu mevcutsa ilk kayıttan önce kayıt kümesinin, bu özellik true değerini döndürür.
# 2) EOF:
Bu yukarıdakinin tam tersidir. Mevcut kaydın konumu mevcutsa son kayıttan sonra kayıt kümesinin, bu özellik true değerini döndürür.
Not: Kayıt kümesinde kayıt olmadığında EOF ve BOF değerleri yanlış olacaktır. Bu, boş kayıtların doğrulanması durumunda, yani kayıt kümesinde kayıt olmadığında kullanışlıdır.
# 3) MaxCount:
Bu, maksimum Veritabanından döndürülebilen satırların / kayıtların değerleri, yani veriden bir seferde en fazla 20 satır getirmek istiyorsanız, bu özelliği 20 olarak ayarlayabilirsiniz.
Şimdi Yöntemlere bir göz atalım:
ADODB Bağlantı Nesnesi ve RecordSet Nesnesi yöntemlerinin listesi aşağıdaki gibidir:
- Açık: Bu yöntem, bir veritabanı bağlantı nesnesini / kayıt kümesi nesnesini açmak için kullanılır.
- Yürüt: Bu, sağlanan bir SQL Sorgusunu yürütmek için kullanılır.
- Kapat: Bu, açılan bir veritabanı bağlantısını / kayıt kümesini kapatmak için kullanılır.
- İptal etmek: Bu, Veritabanı Bağlantısının mevcut yürütmesini iptal etmek için kullanılan bir kayıt kümesi yöntemidir.
- klon: Bu bir kayıt kümesi yöntemidir ve mevcut kayıt kümesi nesnesinin klonunu almak için kullanılır.
- hareket: Bu, belirtilen sayıya göre işaretçiyi bir kayıt kümesi içinde belirli bir konuma taşımak için kullanılan bir kayıt kümesi yöntemidir.
- Miktar: Bu bir kayıt kümesi yöntemidir ve kayıt kümesinde bulunan toplam alan sayısını, yani bir tablodaki toplam sütun sayısını elde etmek için kullanılır.
- madde (i): Bu bir kayıt kümesi yöntemidir. Bu, dizini bir kayıt kümesinde bulunan toplam alan sayısı ile belirtilen öğeyi almak için kullanılır.
Bunlar, Connection ile ilgili nesnelerle uğraşırken kullanacağınız farklı özellikler ve yöntemlerdir.
Bu nesnelerin nasıl çalıştığını bilmek için pratik uygulamaya geçelim.
ADODB Bağlantı Nesnesini Kullanarak Veritabanı Bağlantısı Kurma
Bu bölümde, VBScript'teki Bağlantı Nesnesi mekanizmasını kullanarak bir veritabanı bağlantısı oluşturmanın farklı adımlarını göreceğiz.
Aşağıda bir bağlantı oluşturmak için Kod yer almaktadır:
Obj = createobject ('ADODB.Connection') ' ADODB Bağlantı Nesnesi Oluşturma
Obj1 = createobject ('ADODB.RecordSet') ayarla ADODB Kayıt Kümesi Nesnesi Oluşturma
Dim dbquery Bir veritabanı sorgusu değişkeni bquery bildirmek
Dbquery = ”dbo.acct'den acctno'yu seçin; burada name =' Sert ' Sorgu oluşturma
obj.Open 'Sağlayıcı = SQLQLEDB; Sunucu =. SQLEXPRESS; UserId = test; Şifre = P @ 123; Veritabanı = AUTODB' Bir Bağlantı Açmak
obj1.Open dbquery, obj Kayıt kümesini kullanarak sorguyu yürütmek
val1 = obj1.fields.item (0) Alan değerini döndürür
msgbox val1 'Alan öğesi 0 değeri görüntüleniyor, yani sütun 1
obj.close Bağlantı nesnesinin kapatılması
obj1.close Bağlantı nesnesinin kapatılması
Obj1 ayarla = Hiçbir şey ' Recordset nesnesini serbest bırakma
Obj = Nothing ’olarak ayarlayın Bağlantı nesnesini serbest bırakma
Nasıl çalıştığını görelim:
- İlk olarak, bir Bağ Nesne 'obj' adıyla 'createobject' anahtar sözcüğü kullanılarak oluşturulur ve ADODB Bağlantısı parametresinde bir Veritabanı Bağlantı Nesnesi oluştururken tanımlanır.
- Sonra bir Kayıt Kümesi Nesnesi 'obj1' kullanılarak veritabanından belirli bir tablonun kayıtlarına erişmek için oluşturulur. Kayıt Kümesi Nesnesi, kayıtlara veritabanından erişmenin bir yolunu sağlar.
- Bundan sonra, bir değişken için bir değişken bildirilir sorgu Veritabanından kayıtları getirmek için sorguyu depolamak için 'dbquery'.
- Daha sonra yukarıda oluşturulan bir Bağlantı Nesnesi açıldı sağlayıcı hakkında SQL SUNUCUSU, sunucu adı, veritabanı adı, kullanıcı kimliği ve şifre gibi tüm ayrıntıları sağlayarak nesne ile çalışmaya başlamak için.
- O zaman bir Sorgu idam kayıt kümesi nesnesini açtıktan sonra sorgu ve bağlantı nesnesini belirterek.
- Ardından, hesap no. Değerini almak için ana görev gerçekleştirilir. kullanan sorguya göre belirli bir kişinin alanlar no. hesabının bulunduğu öğenin dizininden bahseden kayıt kümesinin. bu durumda (0) öğesi gibi bulunur. Bir alanın değeri daha sonra bir mesaj kutusu yardımıyla görüntülenir.
Not: Alanlar 'sütunları' ve kayıt kümesi bir veritabanı tablosunun 'satırlarını' temsil eder.
- Nesneler daha sonra kapalı görev tamamlandığında.
- Son olarak, sırasıyla hem nesneler - hem de obj1 yayınlandı 'Hiçbir Şey' anahtar kelimesini kullanarak.
Not : Nesneleri kullanarak serbest bırakmak iyi bir uygulamadır. 'Nesne adını ayarla = Hiçbir şey' sonunda görevin tamamlanmasından sonra.
Veritabanıyla bağlantı kurma ve veritabanı ve QTP kombinasyonunu kullanarak verilerin okunması ve görüntülenmesi hakkında her şeyi gördük.
chrome'da bir swf dosyası nasıl açılır
Bağlantı Nesnesini kullanan birkaç başka senaryo görelim.
ADODB Bağlantı Nesnesini Kullanarak Verileri Excel Dosyasına Verme
Bu bölümde, VBScript'teki Bağlantı Nesnesi mekanizmasını kullanarak verileri veritabanından bir excel dosyasına dışa aktarmanın farklı adımlarını göreceğiz.
Bu senaryo için Kod aşağıdadır:
Set obj = CreateObject('ADODB.Connection') Set obj1 = CreateObject('ADODB.RecordSet ') Set obj2 = CreateObject('Excel.Application') Set obj3 = obj2.Workbooks.Open ('C:UsersRiya.xlsx') Set obj4 = obj3.Worksheets(1) obj.Provider =('Microsoft.ACE.OLEDB.12.0') obj.Open 'C:Users
ewdb.autodb' obj1.Open 'Select name, age from person', obj obj4.cells(1, 1) = 'Name' obj4.cells(1, 2) = 'Age' row = 2 While obj1.EOF = False obj4.cells(row, 1) = obj1.Fields('Name') obj4.cells(row, 2) = obj1.Fields('Age') obj1.MoveNext row = row+1 Wend obj3.Save obj2.Quit obj1.Close obj.Close Set obj4 = Nothing Set obj3 = Nothing Set obj2 = Nothing Set obj1 = Nothing Set obj = Nothing
Nasıl çalıştığını görelim:
- İlk olarak, nesneler - Bağ Nesne, RecordSet Nesnesi ve Excel Nesnesi sırasıyla 'obj,' obj1 've' obj2 'adlarıyla' createobject 'anahtar kelimesi kullanılarak oluşturulur.
- Ardından, bir çalışma kitabı nesnesi - Excel dosyasının konumundan bahsedilerek 'obj3' oluşturulur ve bundan sonra çalışma kağıdı object ('obj4'), verilerin dışa aktarılması gereken excel dosyasındaki sayfayı belirtmek için oluşturulur.
- Daha sonra yukarıda oluşturulan bir Bağlantı Nesnesi açıldı nesne ile çalışmaya başlamak ve Sağlayıcı ayrıntılarından bahsedilir.
- O zaman bir Sorgu idam kayıt kümesi nesnesini açtıktan sonra sorgu ve bağlantı nesnesinden bahsederek.
- Daha sonra, belirli bir kişinin adı ve yaşı değerlerini, kullanılan sorguya göre excel dosyasında saklamak için ana görev gerçekleştirilir. alanlar Veritabanındaki sayfanın hücrelerindeki kayıt kümesinin. Döngü, EOF yanlış olmayana kadar devam edecektir (EOF'yi zaten tartışmıştık).
- Excel çalışma kitabı daha sonra kaydedildi .
- Excel uygulaması çıkmak görev tamamlandığında.
- Nesneler daha sonra kapalı görev tamamlandığında.
- Son olarak, tüm nesneler yayınlandı 'Hiçbir Şey' anahtar kelimesini kullanarak.
ADODB Bağlantı Nesnesini Kullanarak Verileri Metin Dosyasına Verme
Bu bölümde, VBScript'teki Bağlantı Nesnesi mekanizmasını kullanarak verileri veritabanından bir metin dosyasına aktarmanın farklı adımlarını göreceğiz.
Bu senaryo için Kod aşağıdadır:
Set obj = CreateObject('ADODB.Connection') Set obj1 = CreateObject('ADODB.RecordSet ') Set obj2 = CreateObject('Scripting.FileSystemObject') Set obj3 = obj2.OpenTextFile('C:UsersRiya.xlsx') obj.Provider =('Microsoft.ACE.OLEDB.12.0') obj.Open 'C:Users
ewdb.autodb' obj1.Open 'Select name, age from person', obj obj3.WriteLine 'Name Age' obj3.WriteLine '------' While obj1.EOF = False obj3.WriteLine obj1.Fields('Name') & “ “ & obj1.Fields('Age') obj1.MoveNext Wend obj3.Close Set obj3 = Nothing Set obj2 = Nothing obj1.Close obj.Close Set obj1 = Nothing Set obj = Nothing
Nasıl çalıştığını görelim:
- İlk olarak, nesneler - Bağ Nesne, Kayıt Kümesi Nesnesi ve Dosya Nesnesi sırasıyla 'obj,' obj1 've' obj2 'adlarıyla' createobject 'anahtar kelimesi kullanılarak oluşturulur.
- Ardından, bir dosya nesnesi açılır. yer Verilerin dışa aktarılması gereken metin dosyası.
- Daha sonra yukarıda oluşturulan bir Bağlantı Nesnesi açıldı nesne ile çalışmaya başlamak ve Sağlayıcı ayrıntılarından bahsedilir.
- O zaman bir Sorgu idam kayıt kümesi nesnesini açtıktan sonra sorgu ve bağlantı nesnesinden bahsederek.
- Daha sonra adı ve yaşı kullanılarak yazılır yazı çizgisi bir dosya sistemi nesnesinin yöntemi.
- Daha sonra, ana görev, belirli bir kişinin metin dosyasına isim ve yaş değerlerini yazmak için gerçekleştirilir. alanlar Veritabanındaki sayfanın hücrelerindeki kayıt kümesinin. Döngü, EOF yanlış olmayana kadar devam edecektir (EOF'yi zaten tartışmıştık).
- Daha sonra bir File nesnesi kapalı ve dosya ile ilgili nesneler serbest bırakılır.
- Nesneler daha sonra kapalı görev tamamlandığında.
- Son olarak, bağlantı nesnesi ve kayıt kümesi nesnesi yayınlandı 'Hiçbir Şey' anahtar kelimesi kullanarak.
Bunlar, kavramın doğru anlaşılmasında önemli olan ana senaryolardan bazılarıdır. Komut dosyasındaki Bağlantı Nesneleri ile uğraşırken farklı senaryo türlerini işlemek için kodlarla çalışmak ve ilgilenmek için temeli oluştururlar.
Şimdi, bu senaryoların uygulanışını basit bir örnekle anlayalım.
Misal:
Let’s see implementation of Exporting data in files Function Exporttoexcelfile() ‘Function for exporting data to excel file Set obj = CreateObject('ADODB.Connection') Set obj1 = CreateObject('ADODB.RecordSet ') Set obj2 = CreateObject('Excel.Application') Set obj3 = obj2.Workbooks.Open ('C:UsersRiya.xlsx') Set obj4 = obj3.Worksheets(1) obj.Provider =('Microsoft.ACE.OLEDB.12.0') obj.Open 'C:Users
ewdb.autodb' obj1.Open 'Select name, age from person', obj obj4.cells(1, 1) = 'Name' obj4.cells(1, 2) = 'Age' row = 2 If obj1.EOF = True Then Msgbox “No records found on the table!!” End If While obj1.EOF = False obj4.cells(row, 1) = obj1.Fields('Name') obj4.cells(row, 2) = obj1.Fields('Age') obj1.MoveNext row = row+1 Wend obj3.Save obj2.Quit obj1.Close obj.Close Set obj4 = Nothing Set obj3 = Nothing Set obj2 = Nothing Set obj1 = Nothing Set obj = Nothing End Function Function Exporttotextfile() ‘Function for exporting data to text file Set obj = CreateObject('ADODB.Connection') Set obj1 = CreateObject('ADODB.RecordSet ') Set obj2 = CreateObject('Scripting.FileSystemObject') Set obj3 = obj2.OpenTextFile('C:UsersRiya.xlsx') obj.Provider =('Microsoft.ACE.OLEDB.12.0') obj.Open 'C:Users
ewdb.autodb' obj1.Open 'Select name, age from person', obj obj3.WriteLine 'Name Age' obj3.WriteLine '------' If obj1.EOF = True Then Msgbox “No records found on the table!!” End If While obj1.EOF = False obj3.WriteLine obj1.Fields('Name') & “ “ & obj1.Fields('Age') obj1.MoveNext Wend obj3.Close Set obj3 = Nothing Set obj2 = Nothing obj1.Close obj.Close Set obj1 = Nothing Set obj = Nothing End Function Call Exporttoexcelfile() ‘Calling Function for exporting data to excel file Call Exporttotextfile() ‘Calling Function for exporting data to text file
Not: Çıktı için Misal , dosyaların konumuna gidebilir ve verilerin ilgili dosyalarda dışa aktarılıp aktarılmadığını kontrol edebilirsiniz.
Sonuç
Şimdiye kadar kullanmanın önemi ve etkinliği hakkında bilgi edinmiş olmanız gerektiğine eminim. VBS ADODB Bağlantı Nesneleri .
Sonraki eğitim # 13 : Bir sonraki eğitimimde 'Dosya Sistemi Nesnelerini' ele alacağım.
Bizi izlemeye devam edin ve Bağlantı nesneleriyle çalışma deneyiminizi paylaşın ve bu eğitimle ilgili herhangi bir sorunuz varsa bize bildirin.
Önerilen Kaynaklar
- VBScript Excel Nesneleriyle Çalışma
- VBScript Dosya Nesneleri: CopyFile, DeleteFile, OpenTextFile, Read and Write Text File
- QTP Eğitimi # 7 - QTP’nin Nesne Tanımlama Paradigması - QTP Nesneleri Nasıl Benzersiz Şekilde Tanımlar?
- QTP'de Nesne Deposu - Öğretici # 22
- VBScript Error Handling: VBScript On Error, On Error GoTo 0, On Error Resume Next
- VBScript Koşullu İfadeleri: VBScript If, ElseIf, Select Case
- VBScript Eğitimleri: Sıfırdan VBScript Öğrenin (15+ Derinlemesine Eğitim)
- C ++ 'da Sınıflar ve Nesneler