آموزش WebForm-پایگاه داده
ADO.NET قسمتی از NET Framework. است. ADO.NET برای مدیریت دستیابی به داده استفاده می شود. با استفاده از ADO.NET می توانید با پایگاه داده کار کنید.
ADO.NET چیست؟
- ADO.NET بخشی از NET Framwork. است
- ADO.NET حاوی یک سری کلاس است که برای مدیریت دستیابی داده استفاده می شوند
- ADO.NET تماما بر مبنای XML است
- ADO.NET، برخلاف ADO، شیء Recordset ندارد
ایجاد اتصال پایگاه داده
در این آموزش قصد داریم از پایگاه داده Northwind در مثال ها استفاده کنیم.
ابتدا فضای نام "System.Data.OleDB" را وارد نمایید. به این فضای نام برای کار با Microsoft Access و سایر سرویس دهنده های OLEDB نیاز داریم.
سپس اتصالی به پایگاه داده در زیرروال Page_Load ایجاد می کنیم.
متغیر dbconn را، به عنوان یک شیء از کلاس OleDbConnection با استفاده از رشته اتصالی که سرویس دهنده OLE DB و محل پایگاه داده را مشخص می کند، تعریف می کنیم.
سپس اتصال پایگاه داده را باز می کنیم:
<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 جداول پایگاه داده است.
<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 ایجاد می گردد:
<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-پایگاه داده)
<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>
خروجی کد بالا:
Companyname | Contactname | Address | City |
---|---|---|---|
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 و هم اتصال پایگاه داده را پس از دستیابی به پایگاه داده ببندید:
dbconn.Close()
- نوشته شده توسط مظاهر نصوحی
- بازدید: 16068