Visual studio'da sql sorguları oluşturma. Veritabanındaki verileri Visual Studio kullanarak düzenleme

Yerel veritabanı oluşturma örneği Microsoft verileri SQL Server VHANIM Görsel stüdyo

Bu konu, MS Visual Studio'yu kullanarak SQL Server tipi bir veritabanı oluşturma sorununun çözümünü gösterir. Aşağıdaki sorular dikkate alınır:

  • MS Visual Studio'da Sunucu Gezgini penceresiyle çalışma;
  • SQL Server Veritabanı tipinde yerel bir veritabanı oluşturmak;
  • veritabanında tablolar oluşturmak;
  • tablo yapılarını düzenleme;
  • veritabanı tablolarının birbirine bağlanması;
  • MS Visual Studio kullanarak tablolara veri girme.

Görev

MS Visual Studio araçlarını kullanarak Education adında MS SQL Server tipi bir veritabanı oluşturun. Veritabanı Öğrenci ve Oturum olmak üzere iki tablo içerir. Tablolar bazı alanlarla birbirleriyle ilişkilidir.

İlk tablo “Öğrenci”nin yapısı.

İkinci tablo olan “Oturum”un yapısı.

Verim

1. MS Visual Studio'yu indirin.

2. EtkinleştirinpencereSunucu Gezgini.

Microsoft, veritabanlarıyla çalışmak için hafif bir veritabanı sunucusu olan Microsoft SQL Server'ı sunar. Var olmak farklı versiyonlar Microsoft SQL Server, örneğin: Microsoft SQL Server 2005, Microsoft SQL Server 2008, Microsoft SQL Server 2014 ve diğer sürümler.

Bu sürümler Microsoft'un www.msdn.com web sitesinden indirilebilir.

Bu sunucu veritabanlarıyla çalışmak için mükemmeldir. Ücretsizdir ve GUI SQL Server Yönetim Aracını kullanarak veritabanları oluşturmak ve yönetmek.

Öncelikle veritabanı oluşturmadan önce Server Explorer yardımcı programını etkinleştirmeniz gerekir. Bunu yapmak için MS Visual Studio'da aramanız gerekir (Şekil 1)

Görünüm -> Sunucu Gezgini

Pirinç. 1. Sunucu Gezgini'ni arayın

Çağrı sonrasında Server Explorer penceresi Şekil 2'de gösterildiği gibi yaklaşık bir görünüme sahip olacaktır.

Pirinç. 2. Sunucu Gezgini Penceresi

3. “Eğitim” veri tabanının oluşturulması.

Microsoft SQL Server veri sağlayıcısını temel alan yeni bir veritabanı oluşturmak için Veri Bağlantıları düğümüne tıklamanız ve ardından “ Yeni SQL Server Veritabanı Oluşturun..." (Şek. 3).

Pirinç. 3. Veritabanı oluşturma komutunun çağrılması SQL verileri Sunucu

Sonuç olarak, pencere “ Yeni SQL Server Veritabanı Oluşturun"(Şekil 4).

Pencerede (“Sunucu Adı” alanında), adı belirtin Yerel sunucu bilgisayarınıza yüklü. Bizim durumumuzda bu isim “SQLEXPRESS”tir.

“Yeni veritabanı adı:” alanında adı belirtin oluşturulan temel veri. Bizim durumumuzda bu isim Eğitimdir.

Windows Kimlik Doğrulamasını Kullan seçeneği değiştirilmeden bırakılmalı ve Tamam'a tıklanmalıdır.

Pirinç. 4. Yaratılış yeni taban MS Visual Studio 2010 kullanan SQL Server 2008 Express verileri

Adımları tamamladıktan sonra Server Explorer penceresi Şekil 5’deki formu alacaktır. Şekil 5’ten de görüleceği üzere Education isimli veritabanımız karşınıza çıkacaktır.

sasha-pc\sqlexpress.Education.dbo

Pirinç. 5. Eğitim veritabanını ekledikten sonra Server Explorer penceresi

4. Eğitim veritabanı nesneleri.

Eğitim veritabanını genişletirseniz (“+” işareti), aşağıdaki ana nesnelerin bir listesini görebilirsiniz:

  • Veritabanı Diyagramları – veritabanı diyagramları. Diyagramlar veritabanı tabloları arasındaki ilişkileri, farklı tabloların alanları arasındaki ilişkileri vb. gösterir;
  • Tablolar – veritabanı verilerinin yerleştirildiği tablolar;
  • Görünümler – temsiller. Görünümler ve tablolar arasındaki fark, veritabanı tablolarının veri içermesi, ancak veri görünümlerinin içermemesi ve içeriğin diğer tablolardan veya görünümlerden seçilmesidir;
  • Saklı prosedürler – saklı prosedürler. Bunlar, bir veritabanıyla çalışırken ek esneklik sağlayan bir grup ilgili SQL ifadesidir.

5. Öğrenci tablosunun oluşturulması.

Açık şu an Education veritabanı tamamen boştur ve herhangi bir nesne (tablolar, saklı prosedürler, görünümler vb.) içermez.

Bir tablo oluşturmak için içerik menüsünü çağırmanız gerekir (tıklayın) sağ tık fare) ve “Yeni Tablo Ekle” komutunu seçin (Şekil 6).

Pirinç. 6. Yeni bir tablo komutu ekleyin

Veri menüsü komutlarını kullanarak veritabanı tablosu eklemek için başka bir seçenek daha vardır:

Veri -> Yeni Ekle -> Tablo

Pirinç. 7. Alternatif seçenek yeni bir tablo ekleme

Sonuç olarak üç sütun içeren tablo ekle penceresi açılacaktır (Şekil 8). İlk “Sütun Adı” sütununa, veritabanı tablosundaki ilgili alanın adını girmeniz gerekir. İkinci sütun olan “Veri Türü”ne bu alanın veri türünü girmeniz gerekmektedir. Üçüncü sütun "Boş Değerlere İzin Ver", alandaki eksik veri olasılığı seçeneğini belirtir.

Pirinç. 8. Yeni tablo oluşturma penceresi

Tablo düzenleyiciyi kullanarak Şekil 9’daki gibi Öğrenci tablosunu oluşturmanız gerekmektedir. Tabloyu kapatırken tablo adının belirtilmesi gerekmektedir.

Tablo düzenleyicide, Sütun Özellikleri penceresinde alan özelliklerini ayarlayabilirsiniz. Dizenin (nvchar) uzunluğunu karakter cinsinden ayarlamak için Sütun Özellikleri penceresinde bir Uzunluk özelliği vardır. Bu özelliğin varsayılan değeri 10'dur.

Pirinç. 9. Öğrenci masası

Bir sonraki adım anahtar alanını ayarlamaktır. Bu, "Birincil Anahtarı Ayarla" komutunu çağırarak yapılır. içerik menüsü Num_book alanları. Anahtar alanı kullanılarak tablolar arası ilişkiler kurulacaktır. Bizim durumumuzda anahtar alan not defteri numarasıdır.

Pirinç. 10. Anahtar alanın ayarlanması

Birincil anahtarı ayarladıktan sonra tablo penceresi Şekil 11’deki gibi görünecektir.

Pirinç. 11. Son formasyondan sonra öğrenci masası

Artık masayı kapatabilirsiniz. Tabloyu kaydetme penceresinde adını Öğrenci olarak ayarlamanız gerekir (Şek. 12).

Pirinç. 12.Tablo adının girilmesi Öğrenci

6. Oturum tablosunun oluşturulması.

Öğrenci tablosu oluşturma örneğini takip ederek Oturum tablosu oluşturulur.

Şekil 13 son formasyondan sonraki Oturum tablosunu göstermektedir. Birincil anahtar Num_book alanında ayarlanır. Tablo adı Oturum tarafından verilir.

Pirinç. 13. Oturum tablosu

Adımları tamamladıktan sonra Server Explorer penceresinde Öğrenci ve Oturum olmak üzere iki tablo görüntülenecektir.

Böylece veritabanına istenilen sayıda tablo eklenebilir.

7. Tablo yapısını düzenlemek.

Bir veritabanı tablosunun yapısını değiştirmeniz gereken zamanlar vardır.

MS Visual Studio'da veritabanı tablolarında değişiklik yapmak için öncelikle "Değişiklikleri Kaydetmeyi Önle" seçeneğinin işaretini kaldırmanız gerekir. tablonun yeniden oluşturulmasını gerektiren” Şekil 14'te gösterildiği gibi. Aksi takdirde, MS Visual Studio daha önce oluşturulan tabloda değişiklik yapılmasını engelleyecektir. Şekil 14'te gösterilen Seçenekler penceresi Araçlar menüsünden aşağıdaki sırayla çağrılır:

Araçlar -> Seçenekler -> Veritabanı Araçları -> Tablo ve Veritabanı Tasarımcıları

Pirinç. 14. Seçenek “ Tablonun yeniden oluşturulmasını gerektiren değişikliklerin kaydedilmesini önleyin

Yapılandırıldıktan sonra tablo yapısını değiştirebilirsiniz. Bunun için seçilen tablo için çağrılan içerik menüsünden “Tablo Tanımını Aç” komutunu (Şekil 15) kullanın (sağ tıklama).

Pirinç. 15. “Tablo Tanımını Aç” komutunun çağrılması

Bu komut aynı zamanda Veri menüsünde de bulunur:

Veri -> Tablo Tanımını Aç

Önce tablo seçilmelidir.

8. Tablolar arasında bağlantı kurmak.

Problemin koşullarına uygun olarak tablolar birbirine Num_book alanı ile bağlanır.

Tablolar arasında bir ilişki oluşturmak için öncelikle şunlara ihtiyacınız vardır (Şekil 16):

  • Veritabanı Diyagramı nesnesini seçin;
  • bağlam menüsünden (veya Veri menüsünden) Yeni Diyagram Ekle komutunu seçin.

Pirinç. 16. Yeni bir diyagram ekleme komutunun çağrılması

Sonuç olarak, yeni bir Tablo Ekle diyagramı eklemek için bir pencere açılacaktır (Şekil 17). Bu pencerede sırasıyla Oturum ve Öğrenci adlı iki tabloyu seçip Ekle butonuna tıklamanız gerekmektedir.

Pirinç. 17. Diyagrama tablo ekleme penceresi

Pirinç. 18. Diyagrama eklendikten sonra Öğrenci ve Oturum tabloları

Tablolar arasında ilişki kurmaya başlamak için Öğrenci tablosunun Num_book alanına tıklamanız ve ardından (fare düğmesini bırakmadan) bunu Oturum tablosunun Num_book alanına sürüklemeniz gerekir.

Sonuç olarak, sırayla iki pencere açılacaktır: Her şeyi olduğu gibi bırakmanız ve seçiminizi Tamam ile onaylamanız gereken Tablolar ve Sütunlar (Şekil 19) ve Yabancı Anahtar İlişkisi (Şekil 20).

Tablolar ve Sütunlar penceresinde ilişkinin adını (FK_Session_Student) ve üst (Student) ve alt tabloların adlarını belirtirsiniz.

Pirinç. 19. Tablolar ve Sütunlar Penceresi

Pirinç. 20. İlişki özelliklerini ayarlama penceresi

Tamamlanan işlemler sonrasında tablolar arasındaki ilişki kurulacaktır (Şekil 21).

Pirinç. 21. Öğrenci ve Oturum tabloları arasındaki ilişki

Diyagramın kaydedilmesi, tablonun kaydedilmesiyle aynı şekilde yapılır. Diyagramın adı sizin takdirinize göre seçilmelidir (örneğin, Diyagram1).

Diyagramın adını belirledikten sonra seçiminizi onaylamanız gereken Kaydet penceresi açılacaktır (Şekil 22).

Pirinç. 22. Tablolardaki değişikliklerin kaydedilmesinin onaylanması

9. Tablolara veri girişi.

Microsoft Visual Studio, verileri doğrudan veritabanı tablolarına girmenize olanak tanır.

Bizim durumumuzda bağlantı kurulurken (Şekil 19) Öğrenci tablosu Primary Key Table olarak seçilmiştir. Bu nedenle, öncelikle bu tablonun hücrelerine veri girmeniz gerekir. İlk olarak Oturum tablosuna veri girmeyi denerseniz, sistem bu girişi engelleyecek ve ilgili bir mesaj görüntüleyecektir.

Veri giriş modunu Öğrenci tablosuna çağırmak için içerik menüsünden (sağ tıklama) veya Veri menüsünden (Şek. 23) Tablo Verilerini Göster komutunu çağırmanız gerekir.

Pirinç. 23. Tablo Verilerini Göster Komutu

Giriş verilerini girmeniz gereken bir pencere açılacaktır (Şek. 24).

Pirinç. 24. Öğrenci tablosuna veri girme

Öğrenci tablosuna veri girişi yaptıktan sonra Oturum tablosuna veri girişi yapmanız gerekmektedir.

Oturum tablosunun Num_book alanına veri girerken, Öğrenci tablosunun Num_book alanına girilen değerlerin tam olarak aynısını girmelisiniz (bu alanlar birbiriyle ilişkili olduğundan).

Örneğin Öğrenci tablosunun Num_book alanına değerler girilirse “101”, “102”, “103” (bkz. Şekil 24), o zaman bu değerlerin Oturum tablosunun Num_book alanına girilmesi gerekir. Farklı bir değer girmeye çalıştığınızda sistem yaklaşık olarak aşağıdaki pencereyi görüntüleyecektir (Şek. 25).

Pirinç. 25. Bağlantılı Öğrenci ve Oturum tabloları için veri girişiyle ilgili hata mesajı

Girilen verilerin bulunduğu Oturum tablosu Şekil 26'da gösterilmektedir.

Microsoft SQL Server üzerindeki veritabanı tablolarının ağaç şeklinde sunulduğu Server Explorer penceresinde (bkz. Şekil 4.1.), Tablo Verilerini Göster butonuna tıklayarak her tablo için bir pencere açabilirsiniz. Bu pencerede tablo verilerini düzenleyebilirsiniz. Bu düzenleme penceresi yaklaşık olarak Şekil 2'de gösterildiği gibi görünür. 4.2. Yaklaşık olarak sütun sayısının fazla olması nedeniyle tam hacim rakama dahil edilmemiştir.

      1. Veritabanı Eşlemesini Uygulama

Veritabanına ve sunucuya yapılan gereksiz çağrıları ortadan kaldırmak için veritabanı eşleme (DataSet bileşeni) gereklidir. Bu çok önemli bir özelliktir, çünkü veritabanıyla çok sayıda kullanıcı çalışıyorsa, sunucudaki yük oldukça büyük olabilir - isteklerin sayısı birçok kez daha fazla olur ve bu da isteklerin yürütülmesini yavaşlatır.

Bu nedenle DataSet sayesinde istemcinin bilgisayarı birlikte çalıştığı veritabanını görüntüler. İşin tamamlanmasının ardından istemci ve sunucu veritabanları senkronize edilir (veya daha doğrusu istemci veritabanında yapılan değişiklikler sunucu veritabanına da yapılır)

Veritabanımızın MS Visual Studio 2005'teki görüntüsü şuna benzer:

Tüm sayısal veriler Int32 türündedir, dize verileri ise String'dir. Dize veri boyutları, fiziksel veritabanı modelinde verilenlere karşılık gelir.

Ekran görüntüsü, her tablonun aynı zamanda TableAdapters içerdiğini gösterir. Bunlar DataSet ile veri kaynağını birbirine bağlamak için kullanılan bir tür köprüdür. Fill ve GetData() gibi yöntemler vardır.

Bu yöntem, tabloyu kaynaktan (veritabanı dosyası) gerekli verilerle doldurmak için tasarlanmıştır.

    GetData() yöntemi

Bir eşleme tablosundan veri almak için tasarlanmıştır.

    1. Yazılım uygulaması

Uygulamadaki ana özellik yazılım veritabanı tablolarını düzenlemekten sorumlu tüm sınıfların tek bir temel sınıftan miras alınmasıdır, bu da uygulamayı kolaylaştırır. Bu temel sınıfın yöntemleri yukarıda açıklanmıştır. Temel sınıfın sanal yöntemleri, alt sınıftan geçersiz kılınmalıdır. Tüm bu yöntemler, form başlığının adı, istenen veritabanı tablosunun doldurulması ve kaydedilmesi gibi parametreleri değiştirmenize olanak tanır (veri düzenleme anlamında bir alt sınıf yalnızca bir tabloyla çalışır; ancak kullanıcıya veri görüntülerken, Verileri kullanıcının anlayabileceği bir biçimde görüntülemek için birkaç veritabanı tablosu kullanmak mümkündür).

      1. Program arayüzü

Ana pencere, aşağıdaki menüye sahip bir MDI uygulamasıdır:

Veritabanını düzenlemek için kullanılan tabloların her biri, ilgili "Tablolar" menü öğesi tarafından çağrılır.

İlgili “Raporlar” menü öğesine tıklanarak öğretmenlerin iş yüküne ilişkin bir rapor da oluşturulur.

Yazılımın ek bir özelliği olarak, kullanıcı tarafından girilen veritabanına SQL sorguları yürütmenize ve sonucu bir tabloda (DataTable bileşeni) görüntülemenize olanak tanıyan bir “Konsol” menü öğesi bulunmaktadır. Bunu yapmak için elbette tabloların ve alanların adlarını bilmeniz gerekir ve esas olarak yazılımın uygulanmasında kolaylık sağlamak amacıyla oluşturulmuştur, ancak diğer "özel" kullanıcılar da bundan yararlanabilir.

Dipnot: Bu dersi tamamladıktan sonra şunları yapabileceksiniz: SQL Server Management Studio Query Builder'ı kullanarak sorgular oluşturabilecek, veritabanı sistem tablolarından veritabanı bilgilerini çıkarabilecek, kullanıcı girişine dayalı olarak dinamik olarak basit sorgular oluşturabilecek, kullanıcı girişini biçimlendirebilecek ve karmaşık dinamik sorguları filtreleyebilecek, ayrıştırma ve filtreleme gerçekleştirebileceksiniz. Filtrede kullanılmak üzere verileri yeniden biçimlendirin, veritabanını SQL ekleme saldırılarına karşı koruyun, sorguyu göndermek için sp_executeSql prosedürünü kullanın

Önceki derste nasıl artırılacağı anlatılmıştı. verim istekler. Artık kullanıcılara en iyi sonuçları sunmak için etkili bir sorgu kümesinin nasıl oluşturulacağını biliyorsunuz. kullanışlı bilgi Saklı prosedürler veya görünümlerdeki önceden oluşturulmuş sorguları kullanarak uygulamanızdan.

Ancak en basit uygulamalar dışında her şeyi önceden bilmek mümkün değildir. olası seçenekler Kullanıcıların ihtiyaç duyabileceği bilgi türleri ve bunları nasıl filtrelemek ve düzenlemek isteyecekleri. Tüm bu yetenekleri sağlamaya çalışmak yerine, kullanıcıya uygulama tarafından bildirilen bilgiler üzerinde kontrol verebilirsiniz. Bu derste, kullanıcının çalışma zamanı sırasında yaptığı seçimlere dayalı olarak sorguların dinamik olarak nasıl oluşturulacağı anlatılmaktadır.

Sorgu oluşturmak için kullanıcı arayüzü

SQL Server Management Studio, sorgu oluşturmak için gelişmiş bir arayüz içerir. Sorguların dinamik olarak nasıl oluşturulabileceğine dair bir fikir vermek için bu arayüzü inceleyelim. Uygulamanızın hepsine ihtiyacı olmayacak kontroller SQL Server Management Studio tarafından sağlanır. Esasen, nasıl yapılacağını dikkatlice düşünmeniz gerekir. en iyi yol Kullanıcıların seçimlerini sınırlayın.

SQL Server Management Studio Sorgu Oluşturucusu'nu kullanarak sorgu oluşturma

Veritabanı tabloları hakkında bilgi alma

Kullanıcıya bir seçenekler listesi sağlamak için uygulamanın veritabanı tabloları hakkındaki bilgileri alması gerekebilir. Bu bilgiyi elde etmenin birkaç yolu vardır. Bu yöntemlerden en önemlisi INFORMATION_SCHEMA şemasının kullanılmasıdır. Bu şema herhangi bir veritabanında standarttır.

INFORMATION_SCHEMA kullanılıyor

INFORMATION_SCHEMA şeması her veritabanında bulunan özel bir şemadır. Bazı veritabanı nesnelerinin tanımlarını içerir.

INFORMATION_SCHEMA, herhangi bir ANSI uyumlu veritabanı motorundan bilgi almak için tasarlanmış ANSI standardını izler. SQL Server'da INFORMATION_SCHEMA, veritabanının yapısı hakkında bilgi içeren sys* veritabanı tablolarını sorgulayan bir dizi görünümden oluşur. Bu tablolar herhangi bir veritabanı tablosu gibi doğrudan sorgulanabilir. Ancak çoğu durumda *sys tablolarından bilgi almak için INFORMATION_SCHEMA şema görünümlerini kullanmak daha iyidir.

Not. INFORMATION_SCHEMA şeması bazen gerekli olmayan tabloları sorgular ve bu da performansa zarar verir. Bu dersteki bir sonraki örnekte bu pek önemli değil çünkü uygulama zaten kullanıcı girişini bekliyordu. Ancak hızın uygulamanız için önemli bir unsur olması durumunda bu dikkate alınmalıdır.

Bir tabloyu oluşturan sütunlar hakkında bilgi almak için kullanılan temel T-SQL kodu aşağıda verilmiştir:

Bir tablonun şemasını elde etmek için TABLE_SCHEMA alanını seçmeniz gerektiğini unutmayın. Bunun gelecekte benzer sorgular oluşturmaya yönelik etkileri olabilir. Bu derste açıklanan teknikleri denemek için Visual Studio'da yeni bir proje oluşturun.

Yeni bir Visual Studio projesi oluşturma
  1. Başlat menüsünden Tüm Programlar, Microsoft Visual Studio 2005, Microsoft Visual Studio 2005'i seçin.
  2. Visual Studio menüsünden Dosya, Yeni, Proje'yi seçin.
  3. Proje Türleri panelinde genişletin Visual Basic(Visual Basic Solutions) ve Şablonlar panelinden Uygulama şablonunu seçin. Projeye Bölüm7 adını verin ve Tamam'a tıklayın.
  4. Bu örneğin uygulamasını \Chapter7\DynQuery klasöründeki örnek dosyalarda bulabilirsiniz. Aşağıdaki işlemlere ait kodları Form1.vb dosyasından kesip yapıştırabilirsiniz.
Tablo ve görünümlerin listesini alma

Tipik olarak, dinamik sorgu için kullanıcının yalnızca sütunları değil aynı zamanda tabloyu da seçmesine izin vermeniz gerekir; böylece kullanıcıya tabloların bir listesini görüntülemeniz gerekir. Gerekli bilgiler aşağıdaki istek kullanılarak elde edilebilir:

INFORMATION_SCHEMA.TABLES'TAN TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE SEÇİN

Bir uygulamada bu sorgu aşağıdaki gibi kullanılabilir.

Tabloların bir listesini alma

Yukarıdaki Visual Basic kodu, yürütülecek SQL dizesiyle com adlı bir SqlCommand nesnesini başlatır ve ardından SqlCommand nesnesini çalıştırır. Bu, bir uygulamanın içinden bir T-SQL ifadesini yürütmenin en kolay yoludur.

Alıştırma olarak formumuzun Load işlemi sırasında elde edilen diyagramları ve tabloları Kullanıcı arayüzü Kullanıcının çalışmak üzere bir diyagram ve tablo seçebilmesi için bir form biçimindeki uygulama. Bu dersteki örnek için kullanıcının Satış şemasını ve Müşteri tablosunu seçtiğini varsayacağız.

Kullanıcı bir tablo seçtikten sonra, sorguda tablo adı olarak kullanıcı girişi kullanılarak aynı yöntem kullanılarak o tabloya ait sütunların listesi alınabilir. Bunu yapmak için sorgu dizesine bir yer tutucu girersiniz ve ardından bu yer tutucuyu String.Format çağrısıyla değiştirirsiniz. Aşağıdaki kodda sorgu dizesindeki yer tutucu (0)'dır.

Sütunların listesini alma
  1. Aşağıdaki RetrieveColumns prosedürünü RetrieveTables prosedürünün altındaki koda ekleyin:

    Sub RetrieveColumns(ByVal TableName As String) MyConnection As New SqlClient.SqlConnection(_ "Data Source=.\SQLExpress;" & _ "Initial Catalog=AdventureWorks;Trusted_Connection=Yes;") Dim sqlStr As String sqlStr = "SELECT TABLE_SCHEMA, TABLE_NAME , COLUMN_NAME, " + _ "ORDINAL_POSITION, DATA_TYPE " + _ "FROM INFORMATION_SCHEMA.COLUMNS " + _ "WHERE (TABLE_NAME = "(0)")" Dim tableColumns As New DataTable Dim da As New SqlClient.SqlDataAdapter(_ String.Format (sqlStr, TableName), MyConnection) da.Fill(tableColumns) i için As Integer = 0 To tableColumns.Rows.Count - 1 with tableColumns.Rows.Item(i) Console.WriteLine("(0) (1) (2 )", _ .Item(1), .Item(2), .Item(3)) End With Next End Sub

  2. Form1_Load yordamında, RetrieveTables yordamından sonra RetrieveColumns yordamına aşağıdaki çağrıyı ekleyin:

Bu makalede LINQ'un ne olduğunu ve onu kullanarak listeleri nasıl sorgulayacağınızı öğreneceksiniz.

LINQ nedir? Dil Entegre Sorgulama (LINQ), entegre bir sorgu dilidir veya SQL'e benzer bir sorgu dili sözdizimi eklemeye yönelik tartışmalı bir Microsoft projesidir. Spesifik tanım, bu araçla, mutlaka bir veritabanına değil, tablolara ve veri listelerine karşı nispeten kolay bir şekilde sorgular oluşturabilirsiniz.

Microsoft'un örnekleri küçük ama önemli bir ayrıntıyı gözden kaçırıyor. Bir veri seti ile çalışmak için, Sharepoint sunucusunda bulunan bir liste veya kitaplık için tanımı SPMetal.exe kullanılarak elde edilebilen DataContext yapısını kullanmamız gerekir. Yani öncelikle bu veri tipini tanımlamamız ve ardından sorgu oluşturmamız gerekiyor. Genel olarak MVS'de çalışmak için özel bir yardımcı program kullanmanızı öneririm: Imtech Get SPMetal Definition Extension.

Çalışmak için bir tür listeye ihtiyacımız var. Basit bir liste kullanalım - "özel liste"; başlık - "Basit İtiraz"; varsayılan alanlar: Sayı, Başlık.

Ve böylece, manipülasyonlarımızın sonucunu gözlemleyeceğimiz basit bir sayfa oluşturalım (ilgili sayfaya bakın). Bir proje oluştururken izole edilmiş bir güven modeli seçeceğiz; diğer düğümlerin listeleri veya verileriyle çalışmanız gerekiyorsa, çiftlik için bir proje oluşturmanız gerekir.

Daha sonra SPMetal.exe veya stüdyo için bir eklenti kullanarak "SimpleInversion.cs" dosya sınıfını oluşturalım. Microsoft.Sharepoint.Linq kitaplığına bir bağlantı ekleyelim. Daha detaylı bilgi MSDN web sitesinden edinilebilir.

Render fonksiyonunu ve my_mess'i oluşturalım. İÇİNDE son işlev Görüntülenecek verileri üreteceğiz.

// fonksiyonun aşırı yüklenmesi
korumalı geçersiz kılma geçersiz Render(HtmlTextWriter yazarı)
{
base .Render(yazar);
my_mess(yazar);
}

// Listeyle çalışma fonksiyonumuz
public void my_mess(HtmlTextWriter yazarı)
{
// Bir bağlam oluştur
DataContext verileri = new DataContext("http://localhost" );
// Kökteki sitedeki ilgili listeye bağlayın
Varlık Listesi<Элемент>Simple_Message = data.GetList<Элемент>("Basit itiraz");
// İsteği yürütün - "Basit İstek" listesinden tüm satırları seçin
var query = Simple_Message'daki karışıklıktan
karışıklığı seçin;
// sorgu sonucundaki tüm verileri görüntüle
foreach (sorgudaki var öğe)
{
yazar.WriteLine( "Liste öğesi:"+ elem.Name.ToString());
yazar.WriteBreak();
}

}

Projeyi derleyip sayfaya ekliyoruz. Sonuç olarak listedeki tüm satırlar görüntülenecektir.

Daha sonra devam edecek (makale henüz bitmedi)...