ASP.NET - اتصال به پایگاه داده

ADO.NET نیز بخشی از فریم‌ورک .NET است.

وظیفه ADO.NET مدیریت دسترسی به داده‌هاست. از طریق ADO.NET، شما می‌توانید پایگاه داده‌ها را عملیات کنید.

ADO.NET چیست؟

  • ADO.NET بخشی از فریم‌ورک .NET است
  • ADO.NET از مجموعه‌ای از کلاس‌ها برای عملیات دسترسی به داده استفاده می‌کند
  • ADO.NET کاملاً بر اساس XML است
  • ADO.NET هیچ رکوردهای Recordset ندارد، این با ADO متفاوت است

ایجاد اتصال پایگاه داده

ما قصد داریم از پایگاه داده Northwind که قبلاً استفاده شده است استفاده کنیم.

ابتدا، نام‌فضای "System.Data.OleDb" را وارد می‌کنیم. ما نیاز به این نام‌فضا داریم تا بتوانیم Microsoft Access و سایر ارائه‌دهندگان OLE DB را عملیات کنیم. ما در زیر پروسه Page_Load یک اتصال به این پایگاه داده ایجاد می‌کنیم. ما یک متغیر dbconn ایجاد کرده و یک OleDbConnection جدید به آن اختصاص می‌دهیم که یک رشته اتصال دارد که می‌تواند OLE DB و مکان پایگاه داده را نشان دهد. سپس ما این اتصال پایگاه داده را باز می‌کنیم:

<%@ 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>

توضیح:این رشته اتصال باید یک رشته بدون خط کشیدن پیوسته باشد!

ایجاد دستور پایگاه داده

برای مشخص کردن رکوردهایی که باید از پایگاه داده بازیابی شوند، ما یک متغیر dbcomm ایجاد می‌کنیم و به آن یک OleDbCommand جدید اختصاص می‌دهیم. این کلاس OleDbCommand برای ارسال جستجوهای SQL به جدول‌های پایگاه داده استفاده می‌شود:

<%@ 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

کلاس OleDbDataReader برای خواندن جریان رکوردها از منبع داده استفاده می‌شود. با فراخوانی روش ExecuteReader اوبجکت OleDbCommand، می‌توان DataReader ایجاد کرد:

<%@ 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>

مرتبط به کنترل Repeater

پس، ما این DataReader را به یک کنترل Repeater مرتبط می‌کنیم:

<%@ 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>Companyname</th>
<th>Contactname</th>
<th>Address</th>
<th>City</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>

این مثال را نمایش دهید

اتصال به پایگاه داده را ببندید

در صورت نیاز به دسترسی به پایگاه داده، لطفاً همیشه DataReader و اتصال به پایگاه داده را ببندید:

dbread.Close()
dbconn.Close()