ASP.NET - Veritabanı bağlantısı

ADO.NET aynı zamanda .NET çerçevesinin bir bileşenidir.

ADO.NET'in görevi veri erişimini işlemektir. ADO.NET ile, veritabanını işlemek için çalışabilirsiniz.

ADO.NET nedir?

  • ADO.NET, .NET çerçevesinin bir bileşenidir
  • ADO.NET, veri erişimini operasyonel olarak kullanmak için bir dizi sınıf içerir
  • ADO.NET tamamen XML tabanlıdır
  • ADO.NET, ADO'dan farklı olarak Recordset nesnesi yoktur

Veritabanı bağlantısı oluşturma

Kullanmış olduğumuz Northwind veritabanını kullanmayı planlıyoruz.

Öncelikle, "System.Data.OleDb" adlı adlandırma alanını içe aktarın. Bu adlandırma alanını, Microsoft Access ve diğer OLE DB veri sağlayıcılarını operasyonel olarak kullanabilmek için ihtiyacımız var. Page_Load alt sınıfında bu veritabanına bağlantı oluşturacağız. Bir dbconn değişkeni oluşturduk ve ona yeni bir OleDbConnection sınıfı atadık, bu OleDbConnection sınıfı, OLE DB ve veritabanı konumunu belirleyen bir bağlantı dizgisi ile birlikte gelir. Daha sonra bu veritabanı bağlantısını açıyoruz:

<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
sub Page_Load
dim dbconn
dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
data source=" & server.mappath("northwind.mdb")
dbconn.Open()
end sub
</script>

Açıklama:Bu bağlantı dizgisi, satır atlamaları içermeyen sürekli bir dizge olmalıdır!

Veritabanı komutu oluşturma

Veritabanından geri alınması gereken kayıtları belirlemek için bir dbcomm değişkeni oluşturacağız ve ona yeni bir OleDbCommand atayacağız. Bu OleDbCommand sınıfı, veritabanı tablolarına yönelik SQL sorguları göndermek için kullanılır:

<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
sub Page_Load
dim dbconn,sql,dbcomm
dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
data source=" & server.mappath("northwind.mdb")
dbconn.Open()
sql="SELECT * FROM customers"
dbcomm=New OleDbCommand(sql,dbconn)
end sub
</script>

DataReader oluşturma

OleDbDataReader sınıfı, veri kaynağından kayıt akışını okumak için kullanılır. OleDbCommand nesnesinin ExecuteReader yöntemini çağırarak DataReader oluşturabilirsiniz:

<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
sub Page_Load
dim dbconn,sql,dbcomm,dbread
dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
data source=" & server.mappath("northwind.mdb")
dbconn.Open()
sql="SELECT * FROM customers"
dbcomm=New OleDbCommand(sql,dbconn)
dbread=dbcomm.ExecuteReader()
end sub
</script>

Bağlanılan Repeater denetimi

Sonra, biz bu DataReader'ı bir Repeater denetimiye bağlarız:

<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
sub Page_Load
dim dbconn,sql,dbcomm,dbread
dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
data source=" & server.mappath("northwind.mdb")
dbconn.Open()
sql="SELECT * FROM customers"
dbcomm=New OleDbCommand(sql,dbconn)
dbread=dbcomm.ExecuteReader()
customers.DataSource=dbread
customers.DataBind()
dbread.Close()
dbconn.Close()
end sub
</script>
<html>
<body>
<form runat="server">
<asp:Repeater id="customers" runat="server">
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Şirket Adı</th>
<th>Bağlantı Adı</th>
<th>Adres</th>
<th>Şehir</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Container.DataItem("companyname")%></td>
<td><%#Container.DataItem("contactname")%></td>
<td><%#Container.DataItem("address")%></td>
<td><%#Container.DataItem("city")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</form>
</body>
</html>

Bu Örneği Göster

Veritabanı Bağlantısını Kapat

Veritabanına erişim gerektiğinde, her zaman DataReader ve veritabanı bağlantısını kapatanı unutmayın:

dbread.Close()
dbconn.Close()