SqlDataSource Denetimi ile Veri Sorgulama (VB)
tarafından Scott Mitchell
Önceki öğreticilerde, sunu katmanını Veri Erişimi katmanından tamamen ayırmak için ObjectDataSource denetimini kullandık. Bu öğreticiden başlayarak, SqlDataSource denetiminin sunu ve veri erişiminin bu kadar katı bir şekilde ayrılmasını gerektirmeyen basit uygulamalar için nasıl kullanılabileceğini öğreneceğiz.
Giriş
Şimdiye kadar incelediğimiz tüm öğreticilerde sunu, İş Mantığı ve Veri Erişimi katmanlarından oluşan katmanlı bir mimari kullanılmıştır. Veri Erişim Katmanı (DAL) ilk öğreticide (Veri Erişim Katmanı Oluşturma) ve ikincisinde İş Mantığı Katmanı (İş Mantığı Katmanı Oluşturma) oluşturulmuştu. ObjectDataSource ile Verileri Görüntüleme öğreticisinden başlayarak ASP.NET 2.0'ın yeni ObjectDataSource denetimini kullanarak sunu katmanından mimariyle bildirim temelli arabirim oluşturma işleminin nasıl yapıldığını gördük.
Şimdiye kadar tüm öğreticiler mimariyi verilerle çalışmak için kullansa da, mimariyi atlayarak doğrudan bir ASP.NET sayfasından veritabanı verilerine erişmek, bunları eklemek, güncelleştirmek ve silmek de mümkündür. Bunun yapılması, belirli veritabanı sorgularını ve iş mantığını doğrudan web sayfasına yerleştirir. Yeterince büyük veya karmaşık uygulamalar için katmanlı mimari tasarlamak, uygulamak ve kullanmak, uygulamanın başarısı, güncelleştirilebilirliği ve sürdürülebilirliği açısından hayati önem taşır. Ancak, son derecede basit ve tek seferlik uygulamalar oluştururken sağlam bir mimari geliştirmek gereksiz olabilir.
ASP.NET 2.0 beş yerleşik veri kaynağı denetimi sağlar : SqlDataSource, AccessDataSource, ObjectDataSource, XmlDataSource ve SiteMapDataSource. SqlDataSource; Microsoft SQL Server, Microsoft Access, Oracle, MySQL ve diğerleri dahil olmak üzere doğrudan ilişkisel bir veritabanından verilere erişmek ve bunları değiştirmek için kullanılabilir. Bu öğreticide ve sonraki üç öğreticide SqlDataSource denetimiyle çalışma, veritabanı verilerini sorgulama ve filtrelemenin yanı sıra sqldatasource kullanarak veri ekleme, güncelleştirme ve silme konularını inceleyeceğiz.
Şekil 1: ASP.NET 2.0 Beş Built-In Veri Kaynağı Denetimi içerir
ObjectDataSource ile SqlDataSource karşılaştırması
Kavramsal olarak, hem ObjectDataSource hem de SqlDataSource denetimleri yalnızca verilere proxy'lerdir. ObjectDataSource ile Veri Görüntüleme öğreticisinde açıklandığı gibi, ObjectDataSource'un verileri sağlayan nesne türünü ve temel alınan nesne türünden veri seçmek, eklemek, güncelleştirmek ve silmek için çağrılacak yöntemleri gösteren özellikleri vardır. ObjectDataSource özellikleri yapılandırıldıktan sonra, temel alınan mimariyle etkileşim kurmak için ObjectDataSource'un Select()
, , Insert()
, Delete()
ve Update()
yöntemlerini kullanarak GridView, DetailsView veya DataList gibi bir veri Web denetimi denetime bağlanabilir.
SqlDataSource aynı işlevselliği sağlar, ancak nesne kitaplığı yerine ilişkisel bir veritabanında çalışır. SqlDataSource ile veritabanı bağlantı dizesi ve verileri eklemek, güncelleştirmek, silmek ve almak için yürütülecek geçici SQL sorgularını veya saklı yordamlarını belirtmeliyiz. SqlDataSource' un Select()
, Insert()
, Update()
ve Delete()
yöntemleri çağrıldığında belirtilen veritabanına bağlanır ve uygun SQL sorgusunu yayımlar. Aşağıdaki diyagramda gösterildiği gibi, bu yöntemler veritabanına bağlanma, sorgu verme ve sonuçları döndürme gibi zahmetli işleri yapar.
Şekil 2: SqlDataSource, Veritabanına Ara Sunucu işlevi görür
Not
Bu öğreticide veritabanından veri almaya odaklanacağız. SqlDataSource Denetimi ile Veri Ekleme, Güncelleştirme ve Silme öğreticisinde, SqlDataSource'un ekleme, güncelleştirme ve silmeyi destekleyecek şekilde nasıl yapılandıracağımızı göreceğiz.
SqlDataSource ve AccessDataSource Denetimleri
SqlDataSource denetimine ek olarak, ASP.NET 2.0 bir AccessDataSource denetimi de içerir. Bu iki farklı denetim, ASP.NET 2.0'da yeni olan birçok geliştiricinin AccessDataSource denetiminin yalnızca Microsoft SQL Server ile çalışacak şekilde tasarlanmış SqlDataSource denetimiyle Microsoft Access ile çalışacak şekilde tasarlandığından şüphelenmesine neden olur. AccessDataSource özellikle Microsoft Access ile çalışacak şekilde tasarlanmış olsa da, SqlDataSource denetimi .NET aracılığıyla erişilebilen tüm ilişkisel veritabanlarıyla çalışır. Buna Microsoft SQL Server, Microsoft Access, Oracle, Informix, MySQL ve PostgreSQL gibi OleDb veya ODBC uyumlu veri depoları dahildir.
AccessDataSource ile SqlDataSource denetimleri arasındaki tek fark, veritabanı bağlantı bilgilerinin nasıl belirtildiğidir. AccessDataSource denetimi yalnızca Access veritabanı dosyasının dosya yoluna ihtiyaç duyar. Öte yandan, SqlDataSource tam bir bağlantı dizesi gerektirir.
1. Adım: SqlDataSource Web Sayfaları Oluşturma
SqlDataSource denetimini kullanarak veritabanı verileriyle doğrudan nasıl çalışacağımızı keşfetmeye başlamadan önce, önce bu öğretici ve sonraki üç öğretici için gerek duyacağımız web sitesi projemizde ASP.NET sayfalarını oluşturmak için biraz zaman ayıralım. adlı SqlDataSource
yeni bir klasör ekleyerek başlayın. Ardından, aşağıdaki ASP.NET sayfaları bu klasöre ekleyerek her sayfayı ana sayfayla ilişkilendirdiğinizden Site.master
emin olun:
Default.aspx
Querying.aspx
ParameterizedQueries.aspx
InsertUpdateDelete.aspx
OptimisticConcurrency.aspx
Şekil 3: SqlDataSource-Related Öğreticileri için ASP.NET Sayfaları Ekleme
Diğer klasörlerde olduğu gibi klasöründe Default.aspx
de SqlDataSource
kendi bölümündeki öğreticiler listelenecektir. Kullanıcı Denetimi'nin SectionLevelTutorialListing.ascx
bu işlevi sağladığını hatırlayın. Bu nedenle, bu Kullanıcı Denetimini Default.aspx
Çözüm Gezgini sayfanın Tasarım görünümüne sürükleyerek öğesine ekleyin.
Şekil 4: Kullanıcı Denetimini ekleme SectionLevelTutorialListing.ascx
Default.aspx
(Tam boyutlu görüntüyü görüntülemek için tıklayın)
Son olarak, bu dört sayfayı dosyaya Web.sitemap
girdi olarak ekleyin. Özellikle, DataList ve Repeater'a <siteMapNode>
Özel Düğmeler Ekle'nin ardından aşağıdaki işaretlemeyi ekleyin:
<siteMapNode url="~/SqlDataSource/Default.aspx"
title="Using the SqlDataSource Control"
description="Work directly with database data using the SqlDataSource control.">
<siteMapNode url="~/SqlDataSource/Querying.aspx" title="Retrieving Database Data"
description="Examines how to query data from a database that can then be
displayed through a data Web control."/>
<siteMapNode url="~/SqlDataSource/ParameterizedQueries.aspx"
title="Parameterized Queries"
description="Learn how to specify parameterized WHERE clauses in the
SqlDataSource's SELECT statement." />
<siteMapNode url="~/SqlDataSource/InsertUpdateDelete.aspx"
title="Inserting, Updating, and Deleting Database Data"
description="See how to configure the SqlDataSource to include INSERT, UPDATE,
and DELETE statements." />
<siteMapNode url="~/SqlDataSource/OptimisticConcurrency.aspx"
title="Using Optimistic Concurrency"
description="Explore how to augment the SqlDataSource to include support for
optimistic concurrency." />
</siteMapNode>
güncelleştirdikten Web.sitemap
sonra, öğreticiler web sitesini bir tarayıcı üzerinden görüntülemek için biraz zaman ayırın. Sol taraftaki menüde artık düzenleme, ekleme ve silme öğreticileri için öğeler bulunur.
Şekil 5: Site Haritası Artık SqlDataSource Öğreticileri için Girdiler Içeriyor
2. Adım: SqlDataSource Denetimini Ekleme ve Yapılandırma
İlk olarak klasördeki SqlDataSource
sayfayı Querying.aspx
açın ve Tasarım görünümüne geçin. Bir SqlDataSource denetimini Araç Kutusu'ndan Tasarım Aracı sürükleyin ve olarak ID
ProductsDataSource
ayarlayın. ObjectDataSource'ta olduğu gibi, SqlDataSource işlenmiş çıkış üretmez ve bu nedenle tasarım yüzeyinde gri bir kutu olarak görünür. SqlDataSource'ı yapılandırmak için SqlDataSource'un akıllı etiketinden Veri Kaynağını Yapılandır bağlantısına tıklayın.
Şekil 6: SqlDataSource Akıllı Etiketinden Veri Yapılandırma Source Link tıklayın
Bu, SqlDataSource denetiminin Veri Kaynağını Yapılandırma sihirbazını getirir. Sihirbazın adımları ObjectDataSource denetiminden farklı olsa da, veri kaynağı aracılığıyla verileri alma, ekleme, güncelleştirme ve silme ayrıntılarını sağlamak için son hedef aynıdır. SqlDataSource için bu, kullanılacak temel veritabanını belirtmeyi ve geçici SQL deyimlerini veya saklı yordamları sağlamayı gerektirir.
İlk sihirbaz adımında veritabanı istenir. Açılan liste, web uygulamasının klasöründe bulunan veritabanlarını ve Sunucu Gezgini'ndeki App_Data
Veri Connections düğümüne eklenmiş olan veritabanlarını içerir. Klasördeki veritabanı için NORTHWIND.MDF
projemizin Web.config
dosyasına zaten bir bağlantı dizesi eklediğimizden, açılan listede bu bağlantı dizesi NORTHWINDConnectionString
başvuru yer App_Data
alır. Açılan listeden bu öğeyi seçin ve İleri'ye tıklayın.
Şekil 7: Drop-Down Listesinden öğesini seçin NORTHWINDConnectionString
Veritabanını seçtikten sonra sihirbaz sorgunun veri döndürmesini ister. Döndürülecek bir tablonun veya görünümün sütunlarını belirtebilir veya özel bir SQL deyimi girebilir ya da saklı yordam belirtebiliriz. Özel SQL deyimini veya saklı yordamı belirtme ve Tablodaki sütunları belirtme veya radyo düğmelerini görüntüleme aracılığıyla bu seçim arasında geçiş yapabilirsiniz.
Not
Bu ilk örnek için Tablo veya görünümden sütun belirt seçeneğini kullanalım. Bu öğreticinin ilerleyen bölümlerinde sihirbaza geri dönüp Özel SQL deyimi veya saklı yordam belirtme seçeneğini keşfedeceğiz.
Şekil 8'de, Tablodaki sütunları belirtin veya radyoyu görüntüle düğmesi seçiliyken Deyimi Seç ekranını gösterir. Açılan liste, northwind veritabanındaki tablo ve görünüm kümesini içerir ve seçili tablo veya görünüm sütunları aşağıdaki onay kutusu listesinde görüntülenir. Bu örnekte, tablosundan ProductID
, ProductName
ve UnitPrice
sütunlarını Products
döndürelim. Şekil 8'de gösterildiği gibi, bu seçimleri yaptıktan sonra sihirbaz sonuçta elde edilen SQL deyimini SELECT [ProductID], [ProductName], [UnitPrice] FROM [Products]
gösterir.
Şekil 8: Tablodan Products
Veri Döndürme
Sihirbazı tablodan , ProductName
ve UnitPrice
sütunlarını Products
döndürecek ProductID
şekilde yapılandırdıktan sonra İleri düğmesine tıklayın. Bu son ekran, önceki adımda yapılandırılan sorgunun sonuçlarını inceleme fırsatı sağlar. Test Sorgusu düğmesine tıklanması, yapılandırılan SELECT
deyimi yürütür ve sonuçları bir kılavuzda görüntüler.
Şekil 9: Sorgunuzu SELECT
Gözden Geçirmek için Sorguyu Test Et Düğmesine Tıklayın
Sihirbazı tamamlamak için Son'a tıklayın.
ObjectDataSource'ta olduğu gibi, SqlDataSource sihirbazı yalnızca denetim özelliklerine ve SelectCommand
özelliklerine ConnectionString
değer atar. Sihirbazı tamamladıktan sonra SqlDataSource denetiminizin bildirim temelli işaretlemesi aşağıdakine benzer görünmelidir:
<asp:SqlDataSource ID="ProductsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:NORTHWNDConnectionString %>"
SelectCommand="SELECT [ProductID], [ProductName], [UnitPrice] FROM [Products]">
</asp:SqlDataSource>
özelliği veritabanına ConnectionString
bağlanma hakkında bilgi sağlar. Bu özellik tam, sabit kodlanmış bir bağlantı dizesi değeri atanabilir veya içindeki Web.config
bir bağlantı dizesi işaret edebilir. Web.config bir bağlantı dizesi değerine başvurmak için söz dizimini <%$ expressionPrefix:expressionValue %>
kullanın. Genellikle , expressionPrefix ConnectionStrings, expressionValue ise Web.config
<connectionStrings>
bölümündeki bağlantı dizesinin adıdır. Ancak, söz dizimi kaynak dosyalarından öğelere veya içeriğe başvurmak <appSettings>
için kullanılabilir. Bu söz dizimi hakkında daha fazla bilgi için bkz. ASP.NET İfadelere Genel Bakış .
özelliği, SelectCommand
verileri döndürmek için yürütülecek geçici SQL deyimini veya saklı yordamı belirtir.
3. Adım: Veri Web Denetimi Ekleme ve SqlDataSource'a Bağlama
SqlDataSource yapılandırıldıktan sonra GridView veya DetailsView gibi bir veri Web denetimine bağlanabilir. Bu öğretici için verileri GridView'da görüntüleyelim. Araç Kutusu'ndan bir GridView'u sayfaya sürükleyin ve GridView'un akıllı etiketindeki açılan listeden veri kaynağını seçerek Bunu SqlDataSource'a bağlayın ProductsDataSource
.
Şekil 10: GridView Ekleme ve SqlDataSource Denetimine Bağlama (Tam boyutlu görüntüyü görüntülemek için tıklayın)
GridView'un akıllı etiketindeki açılan listeden SqlDataSource denetimini seçtikten sonra, Visual Studio veri kaynağı denetimi tarafından döndürülen her sütun için GridView'a otomatik olarak bir BoundField veya CheckBoxField ekler. SqlDataSource üç veritabanı sütunu ProductID
döndürdüğünden , ProductName
ve UnitPrice
GridView'da üç alan vardır.
GridView'un üç BoundField'ını yapılandırmak için biraz zaman ayırın. ProductName
alanın HeaderText
özelliğini Ürün Adı, alanı ise UnitPrice
Price olarak değiştirin. Ayrıca alanı UnitPrice
para birimi olarak biçimlendirin. Bu değişiklikleri yaptıktan sonra GridView'unuzun bildirim temelli işaretlemesi aşağıdakine benzer görünmelidir:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="ProductID" DataSourceID="ProductsDataSource"
EnableViewState="False">
<Columns>
<asp:BoundField DataField="ProductID" HeaderText="ProductID"
InsertVisible="False" ReadOnly="True" SortExpression="ProductID" />
<asp:BoundField DataField="ProductName" HeaderText="Product Name"
SortExpression="ProductName" />
<asp:BoundField DataField="UnitPrice" HeaderText="Price"
SortExpression="UnitPrice" DataFormatString="{0:c}"
HtmlEncode="False" />
</Columns>
</asp:GridView>
Bu sayfayı bir tarayıcı üzerinden ziyaret edin. Şekil 11'de ProductID
gösterildiği gibi GridView her ürünün , ProductName
ve UnitPrice
değerlerini listeler.
Şekil 11: GridView Her Ürünün ProductID
, ProductName
ve UnitPrice
Değerlerini Görüntüler (Tam boyutlu görüntüyü görüntülemek için tıklayın)
Sayfa ziyaret edildiğinde GridView veri kaynağı denetimi s Select()
yöntemini çağırır. ObjectDataSource denetimini kullanırken sınıfın ProductsBLL
GetProducts()
yöntemi olarak adlandırılıyordu. AncakSelect()
, SqlDataSource ile yöntemi belirtilen veritabanına bir bağlantı kurar ve (SELECT [ProductID], [ProductName], [UnitPrice] FROM [Products]
bu örnekte) iletir SelectCommand
. SqlDataSource, gridview'un listelediği sonuçları döndürür ve döndürülen her veritabanı kaydı için GridView'da bir satır oluşturur.
Built-In Veri Web Denetimi Özellikleri ve SqlDataSource Denetimi
Genel olarak, veri Web'ine özgü özellikler sayfalama, sıralama, düzenleme, silme, ekleme gibi işlemleri denetler ve veri Web denetimine özgüdür ve kullanılan veri kaynağı denetimine bağımlı değildir. Diğer bir ifadeyle GridView, bir ObjectDataSource'a mı yoksa SqlDataSource'a mı bağlı olduğunu öğrenmek için yerleşik disk belleğini, sıralamayı, düzenlemeyi ve silmeyi kullanabilir. Ancak, belirli veri Web denetimi özellikleri kullanılmakta olan veri kaynağı denetimine veya veri kaynağı denetiminin yapılandırmasına duyarlıdır.
Örneğin, Büyük Miktarlarda Veride Verimli Sayfalama öğreticisinde, varsayılan olarak, Web denetimleri için disk belleği mantığının temel alınan veri kaynağındaki tüm kayıtları nasıl döndürdüğüne ve ardından geçerli sayfa dizinine ve sayfa başına görüntülenecek kayıt sayısına göre yalnızca uygun kayıt alt kümesini görüntülemesine değindik. Yeterince büyük sonuç kümelerini sayfalama sırasında bu model son derece verimsizdir. Neyse ki ObjectDataSource, görüntülenecek kayıtların yalnızca kesin alt kümesini döndüren özel disk belleğini destekleyecek şekilde yapılandırılabilir. Ancak SqlDataSource denetimi, özel disk belleği uygulama özelliklerine sahip değildir.
SqlDataSource ile disk belleği ve sıralama ile ilgili başka bir incelik ortaya çıkar. Varsayılan olarak, SqlDataSource'tan döndürülen veriler GridView aracılığıyla sayfalandırılabilir veya sıralanabilir. Bunu göstermek için, içinde GridView'un akıllı etiketindeki Querying.aspx
Sayfalandırmayı Etkinleştir ve Sıralamayı Etkinleştir seçeneklerini işaretleyin ve bunun beklendiği gibi çalıştığını doğrulayın.
SqlDataSource veritabanı verilerini gevşek türe sahip bir DataSet'e aldığından sıralama ve sayfalama çalışır. Sorgu tarafından döndürülen toplam kayıt sayısı, disk belleğini uygulamak için temel bir unsur olan DataSet'ten doğrulanabilir. Ayrıca, DataSet sonuçları bir DataView aracılığıyla sıralanabilir. GridView sayfalandırılmış veya sıralanmış veriler istediğinde bu özellikler SqlDataSource tarafından otomatik olarak kullanılır.
SqlDataSource, özelliğini DataSet
(varsayılan) DataReader
olarak değiştirerek DataSourceMode
DataSet yerine DataReader döndürecek şekilde yapılandırılabilir. SqlDataSource sonuçlarının DataReader bekleyen mevcut koda geçirilmesi durumlarında DataReader kullanılması tercih edilebilir. Ayrıca DataReader'lar DataSet'lerden çok daha basit nesneler olduğundan daha iyi performans sunar. Ancak bu değişikliği yaparsanız, SqlDataSource sorgu tarafından kaç kayıt döndürüleceğini doğrulayamayacağından ve DataReader döndürülen verileri sıralamak için herhangi bir teknik sunamadığından veri Web denetimi ne sıralayabilir ne de sayfalandırabilir.
4. Adım: Özel SQL Deyimi veya Saklı Yordam Kullanma
SqlDataSource denetimini yapılandırırken, veri döndürmek için kullanılan sorgu, iki yaklaşımdan birinde özel SQL deyimi veya saklı yordam olarak ya da var olan bir tablo veya görünümden sütunlar olarak belirtilebilir. 2. Adım'da tablodan sütun seçmeyi Products
inceledik. Şimdi özel sql deyimini kullanmaya bakalım.
Sayfaya Querying.aspx
başka bir GridView denetimi ekleyin ve akıllı etiketteki açılan listeden yeni bir veri kaynağı oluşturmayı seçin. Ardından, verilerin yeni bir SqlDataSource denetimi oluşturacak bir veritabanından çekileceğini belirtin. Denetimi ProductsWithCategoryInfoDataSource
olarak adlandırın.
Şekil 12: Adlı Yeni bir SqlDataSource Denetimi Oluşturma ProductsWithCategoryInfoDataSource
Sonraki ekranda veritabanını belirtmemiz istenecek. Şekil 7'de yaptığımız gibi, açılan listeden NORTHWINDConnectionString
öğesini seçin ve İleri'ye tıklayın. Select Deyimini Yapılandır ekranında Özel SQL deyimi veya saklı yordam belirt radyo düğmesini seçin ve İleri'ye tıklayın. Bu, SELECT, UPDATE, INSERT ve DELETE etiketli sekmeler sunan Özel Deyimleri veya Saklı Yordamları Tanımla ekranını açar. Her sekmede metin kutusuna özel bir SQL deyimi girebilir veya açılan listeden bir saklı yordam seçebilirsiniz. Bu öğreticide özel bir SQL deyimi girme konusuna bakacağız; sonraki öğreticide saklı yordam kullanan bir örnek yer alır.
Şekil 13: Özel SQL Deyimi Girme veya Saklı Yordam Seçme
Özel SQL deyimi metin kutusuna el ile girilebilir veya Sorgu Oluşturucusu düğmesine tıklanarak grafiksel olarak oluşturulabilir. Sorgu Oluşturucusu'ndan veya metin kutusundan aşağıdaki sorguyu kullanarak tablodaki ve ProductName
alanlarını döndürerek ProductID
ürünün CategoryName
tablosundan Categories
JOIN
alınmasını Products
sağlayın:
SELECT Products.ProductID, Products.ProductName, Categories.CategoryName
FROM Categories
INNER JOIN Products ON
Categories.CategoryID = Products.CategoryID
Şekil 14: Sorgu Oluşturucusu'nu Kullanarak Sorguyu GrafikSel Olarak Oluşturabilirsiniz
Sorguyu belirttikten sonra, Test Sorgusu ekranına geçmek için İleri'ye tıklayın. SqlDataSource sihirbazını tamamlamak için Son'a tıklayın.
Sihirbazı tamamladıktan sonra, GridView'a sorgudan döndürülen ve aşağıdaki bildirim temelli işaretlemeye neden olan , ProductName
ve CategoryName
sütunlarını görüntüleyen ProductID
üç BoundField eklenir:
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False"
DataKeyNames="ProductID" DataSourceID="ProductsWithCategoryInfoDataSource"
EnableViewState="False">
<Columns>
<asp:BoundField DataField="ProductID" HeaderText="ProductID"
InsertVisible="False" ReadOnly="True" SortExpression="ProductID" />
<asp:BoundField DataField="ProductName" HeaderText="ProductName"
SortExpression="ProductName" />
<asp:BoundField DataField="CategoryName" HeaderText="CategoryName"
SortExpression="CategoryName" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="ProductsWithCategoryInfoDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:NORTHWNDConnectionString %>"
SelectCommand="
SELECT Products.ProductID, Products.ProductName, Categories.CategoryName
FROM Categories
INNER JOIN Products ON Categories.CategoryID = Products.CategoryID">
</asp:SqlDataSource>
Şekil 15: GridView Her Ürünün Kimliğini, Adını ve İlişkili Kategori Adını Gösterir (Tam boyutlu görüntüyü görüntülemek için tıklayın)
Özet
Bu öğreticide SqlDataSource denetimini kullanarak verileri sorgulamayı ve görüntülemeyi gördük. ObjectDataSource gibi, SqlDataSource da verilere erişmek için bildirim temelli bir yaklaşım sağlayan bir ara sunucu işlevi görür. Özellikleri bağlanılacak veritabanını ve yürütülecek SQL SELECT
sorgusunu belirtir; bunlar Özellikler penceresi veya DataSource Yapılandırma sihirbazı kullanılarak belirtilebilir.
SELECT
Bu öğreticide incelediğimiz sorgu örnekleri, belirtilen sorgudaki tüm kayıtları döndürdü. Ancak SqlDataSource denetimi, değerleri program aracılığıyla atanan veya belirtilen kaynaktan otomatik olarak çekilen parametrelere sahip bir WHERE
yan tümce içerebilir. Sonraki öğreticide parametreli sorgular oluşturmayı ve kullanmayı inceleyeceğiz!
Mutlu Programlama!
Daha Fazla Bilgi
Bu öğreticide ele alınan konular hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:
- SqlDataSource Denetimine Genel Bakış
- ASP.NET Hızlı Başlangıç Öğreticileri: SqlDataSource Denetimi
- Web.config
<connectionStrings>
Öğesi - Veritabanı Bağlantı Dizesi Başvurusu
Yazar hakkında
Yedi ASP/ASP.NET kitabının yazarı ve 4GuysFromRolla.com kurucusu Scott Mitchell, 1998'den beri Microsoft Web teknolojileriyle çalışmaktadır. Scott bağımsız bir danışman, eğitmen ve yazar olarak çalışmaktadır. Son kitabı Sams Teach Yourself ASP.NET 24 Hours 2.0'dır. Adresine adresinden veya adresinden ulaşabileceğiniz http://ScottOnWriting.NETblogu aracılığıyla ulaşabilirsinizmitchell@4GuysFromRolla.com.
Özel Teşekkürler
Bu öğretici serisi birçok yararlı gözden geçiren tarafından gözden geçirildi. Bu öğreticinin baş gözden geçirenleri Susan Connery, Bernadette Leigh ve David Suru'dur. Yaklaşan MSDN makalelerimi gözden geçirmek istiyor musunuz? Öyleyse, bana adresinden bir satır mitchell@4GuysFromRolla.combırakın.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin