ASP.NET - اتصال به پایگاه داده
- صفحهی قبلی DataList WebForms
- صفحهی بعدی صفحهی مادر WebForms
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()
- صفحهی قبلی DataList WebForms
- صفحهی بعدی صفحهی مادر WebForms