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şimi için bu kadar katı bir ayrım 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şturulur. ObjectDataSource ile Veri Görüntüleme öğreticisinden başlayarak, sunu katmanından mimariyle bildirimli olarak arabirim kurmak için ASP.NET 2.0 s yeni ObjectDataSource denetiminin nasıl kullanılacağını gördük.
Şimdiye kadar öğreticilerin tümü verilerle çalışmak için mimariyi 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 derece basit, 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 adımlarını inceleyeceğiz.
Şekil 1: ASP.NET 2.0 beş yerleşik veri kaynağı denetimi içerir
ObjectDataSource ve SqlDataSource Karşılaştırması
Kavramsal olarak, hem ObjectDataSource hem de SqlDataSource denetimleri yalnızca veri proxy'leridir. ObjectDataSource ile Veri Görüntüleme öğreticisinde açıklandığı gibi, ObjectDataSource,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 özelliklere sahiptir. ObjectDataSource özellikleri yapılandırıldıktan sonra GridView, DetailsView veya DataList gibi bir veri Web denetimi, temel alınan mimariyle etkileşim kurmak için ObjectDataSource , Select()
, Insert()
, Delete()
ve Update()
yöntemleri kullanılarak denetime bağlanabilir.
SqlDataSource aynı işlevselliği sağlar, ancak nesne kitaplığı yerine ilişkisel bir veritabanında çalışır. SqlDataSource ile veri eklemek, güncelleştirmek, silmek ve almak için veritabanı bağlantı dizesi ve geçici SQL sorgularını veya saklı yordamları 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 ile ilgili kirli işleri yapar.
Şekil 2: SqlDataSource, Veritabanına Ara Sunucu Olarak Hizmet Eder
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ışmak üzere tasarlanmış SqlDataSource denetimiyle Yalnızca Microsoft Access ile çalışacak şekilde tasarlandığından şüphelenmesine neden olur. AccessDataSource özel olarak Microsoft Access ile çalışacak şekilde tasarlanmış olsa da, SqlDataSource denetimi .NET üzerinden 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 ve 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ını Oluşturma
SqlDataSource denetimini kullanarak veritabanı verileriyle doğrudan nasıl çalışacağımızı keşfetmeye başlamadan önce, web sitesi projemizde bu öğretici ve sonraki üç öğretici için ihtiyacımız olacak 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 ile İlgili Öğreticiler 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 listelenir. 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 bekleyin. Soldaki 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
Klasördeki SqlDataSource
sayfayı Querying.aspx
açarak başlayın ve Tasarım görünümüne geçin. Bir SqlDataSource denetimini Araç Kutusu'ndan Tasarımcı'ya 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'un Akıllı Etiketinden Veri Kaynağını Yapılandır Bağlantısına tıklayın
Bu, SqlDataSource denetiminin Veri Kaynağını Yapılandırma sihirbazını getirir. Sihirbazın adımları ObjectDataSource denetimlerinden farklı olsa da, son hedef, veri kaynağı aracılığıyla verileri alma, ekleme, güncelleştirme ve silme ayrıntılarını sağlamak için 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 Bağlantıları düğümüne eklenmiş olan veritabanlarını içerir. Klasördeki App_Data
veritabanı için proje Web.config
dosyamıza zaten bir bağlantı dizesi eklediğimizdenNORTHWIND.MDF
, açılan listede bu bağlantı dizesi NORTHWINDConnectionString
bir başvuru yer alır. Açılan listeden bu öğeyi seçin ve İleri'ye tıklayın.
Şekil 7: Açılan Listeden öğ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 ya da özel bir SQL deyimi girebilir veya saklı bir yordam belirtebiliriz. Özel SQL deyimini veya saklı yordamı belirtme ve Tablodaki sütunları belirtme veya radyo düğmelerini görüntüleme yoluyla bu seçim arasında geçiş yapabilirsiniz.
Not
Bu ilk örnek için Tablo veya görünümden sütunları belirtin seçeneğini kullanalım. Bu öğreticinin devamında sihirbaza geri dönüp Özel SQL deyimi veya saklı yordam belirt seçeneğini keşfedeceğiz.
Şekil 8'de, Tablodaki sütunları belirt veya radyoyu görüntüle düğmesi seçildiğinde Deyimi Seç'i yapılandır ekranı gösterilmektedir. 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, tablodan 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. Sorguyu Test Et 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 özelliğe tam, sabit kodlanmış bir bağlantı dizesi değeri atanabilir veya içindeki Web.config
bir bağlantı dizesi işaret edebilir. Web.config'de bağlantı dizesi bir değere başvurmak için söz dizimini <%$ expressionPrefix:expressionValue %>
kullanın. Genellikle, expressionPrefix ConnectionStrings ve expressionValue, bölümündeki bağlantı dizesinin Web.config
<connectionStrings>
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'ı 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 sütunların her biri 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 bekleyin. ProductName
Alan HeaderText
özelliğini Ürün Adı ve UnitPrice
alanı Price olarak değiştirin. Ayrıca alanı para birimi olarak biçimlendirin UnitPrice
. Bu değişiklikleri yaptıktan sonra GridView bildirim temelli işaretlemeniz 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 bu, sınıfın ProductsBLL
GetProducts()
yöntemi olarak adlandırılıyordu. Ancak Select()
SqlDataSource ile yöntemi, belirtilen veritabanıyla bir bağlantı kurar ve (SELECT [ProductID], [ProductName], [UnitPrice] FROM [Products]
bu örnekte) iletir SelectCommand
. SqlDataSource, gridview'un numaralandırdığı sonuçlarını döndürür ve döndürülen her veritabanı kaydı için GridView'da bir satır oluşturur.
Yerleşik Veri Web Denetimi Özellikleri ve SqlDataSource Denetimi
Genel olarak, veri Web'inin doğasında bulunan özellikler sayfalama, sıralama, düzenleme, silme, ekleme vb. denetimlerini denetler, veri Web denetimine özgüdür ve kullanılan veri kaynağı denetimine bağımlı değildir. Diğer bir ifadeyle GridView, objectDataSource veya SqlDataSource'a bağlı olup olmadığını öğrenmek için yerleşik disk belleğini, sıralamayı, düzenlemeyi ve silmeyi kullanabilir. Ancak, belirli veri Web denetimi özellikleri kullanılan veri kaynağı denetimine veya veri kaynağı denetiminin yapılandırmasına duyarlıdır.
Örneğin, Büyük Miktarlarda Veriyi Verimli Bir Şekilde 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üğü ve ardından geçerli sayfa dizini ve sayfa başına görüntülenecek kayıt sayısı gibi kayıtların yalnızca uygun alt kümesini görüntülemesini ele aldık. Bu model, yeterince büyük sonuç kümelerinde sayfalama yaparken 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.
Disk belleği ve sıralama ile ilgili başka bir incelik, SqlDataSource ile 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ürde 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ği uygulama açısından önemli bir unsur dataset'ten doğrulanabilir. Ayrıca, DataSet sonuçları bir DataView aracılığıyla sıralanabilir. Bu özellikler, GridView sayfalandırılmış veya sıralanmış veriler istediğinde 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ı DataReader bekleyen mevcut koda geçirirken DataReader kullanmak tercih edilebilir. Ayrıca DataReader'lar DataSet'lerden çok daha basit nesneler olduğundan daha iyi performans sunar. Bununla birlikte, bu değişikliği yaparsanız, SqlDataSource sorgu tarafından kaç kayıt döndürüleceğini tespit edemeyeceğinden 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 mevcut bir tablo veya görünümden sütunlar olarak belirtilebilir. 2. Adım'da tablodan sütun seçme işlemini Products
inceledik. Ö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 Girin veya Saklı Yordam Seçin
Özel SQL deyimi metin kutusuna el ile girilebilir veya Sorgu Oluşturucusu düğmesine tıklanarak grafik olarak oluşturulabilir. Sorgu Oluşturucusu'ndan veya metin kutusundan aşağıdaki sorguyu kullanarak ve alanlarını tablodaki ürünlerden almak üzere kullanarak JOIN
tablodan döndürebilirsiniz ProductID
Categories
ProductName
:CategoryName
Products
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 Grafik 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'da 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 ara sunucu işlevi görür ve verilere erişmek için bildirim temelli bir yaklaşım sağlar. Ö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 bir kaynaktan otomatik olarak çekilen parametrelere sahip bir WHERE
yan tümce içerebilir. Sonraki öğreticide parametreli sorgu oluşturma ve kullanma adımlarını 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ışır. Son kitabı Sams Teach Yourself ASP.NET 24 Hours 2.0'dır. Adresine adresinden veya adresinden ulaşabileceğiniz blogu aracılığıyla ulaşabilirsinizmitchell@4GuysFromRolla.com.http://ScottOnWriting.NET
Ö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 oldu. Yaklaşan MSDN makalelerimi gözden geçirmek istiyor musunuz? Öyleyse, bana adresine mitchell@4GuysFromRolla.combir satır bı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