آموزش WebForm-پایگاه داده

چاپ

ADO.NET قسمتی از NET Framework. است. ADO.NET برای مدیریت دستیابی به داده استفاده می شود. با استفاده از ADO.NET می توانید با پایگاه داده کار کنید.


ADO.NET چیست؟


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

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

ابتدا فضای نام "System.Data.OleDB" را وارد نمایید. به این فضای نام برای کار با Microsoft Access و سایر سرویس دهنده های OLEDB نیاز داریم.

سپس  اتصالی به پایگاه داده در زیرروال 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 برای خواندن جریانی از رکوردهای یک منبع داده استفاده می شود.

DataReader با استفاده از فراخوانی متد ExecuteReader از شیء OleDbDataReader ایجاد می گردد:

<%@ 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 متصل می نماییم.

مثال (آموزش WebForm-پایگاه داده)

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

خروجی کد بالا:

CompanynameContactnameAddressCity
Alfreds Futterkiste  Maria Anders  Obere Str. 57  Berlin 
Berglunds snabbköp  Christina Berglund  Berguvsvägen 8  Luleå 
Centro comercial Moctezuma  Francisco Chang  Sierras de Granada 9993  México D.F. 
Ernst Handel  Roland Mendel  Kirchgasse 6  Graz 
FISSA Fabrica Inter. Salchichas S.A.  Diego Roel  C/ Moralzarzal, 86  Madrid 
Galería del gastrónomo  Eduardo Saavedra  Rambla de Cataluña, 23  Barcelona 
Island Trading  Helen Bennett  Garden House Crowther Way  Cowes 
Königlich Essen  Philip Cramer  Maubelstr. 90  Brandenburg 
Laughing Bacchus Wine Cellars  Yoshi Tannamuri  1900 Oak St.  Vancouver 
Magazzini Alimentari Riuniti  Giovanni Rovelli  Via Ludovico il Moro 22  Bergamo 
North/South  Simon Crowther  South House 300 Queensbridge  London 
Paris spécialités  Marie Bertrand  265, boulevard Charonne  Paris 
Rattlesnake Canyon Grocery  Paula Wilson  2817 Milton Dr.  Albuquerque 
Simons bistro  Jytte Petersen  Vinbæltet 34  København 
The Big Cheese  Liz Nixon  89 Jefferson Way Suite 2  Portland 
Vaffeljernet  Palle Ibsen  Smagsløget 45  Århus 
Wolski Zajazd  Zbyszek Piestrzeniewicz  ul. Filtrowa 68  Warszawa 

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

همواره هم DataReader و هم اتصال پایگاه داده را پس از دستیابی به پایگاه داده ببندید:

dbread.Close()
dbconn.Close()