最新のWeb開発のチュートリアル
 

ASP.NET Webフォーム - データベース接続


ADO.NETは、.NET Frameworkの一部です。 ADO.NETは、データアクセスを処理するために使用されます。 ADO.NETを使用すると、データベースを操作することができます。


例

DataListコントロールにバインド-データベース接続

Repeaterコントロールにバインド-データベース接続


ADO.NETとは何ですか?

  • ADO.NETは、.NET Frameworkの一部であります
  • ADO.NETは、データアクセスを処理するために使用されるクラスのセットで構成します
  • ADO.NETは完全にXMLに基づいています
  • ADO.NETは、ADOとは異なり、Recordsetオブジェクトを持っていません

データベース接続を作成します。

我々は、我々の例では、Northwindデータベースを使用しようとしています。

まず、インポート"System.Data.OleDb"名前空間を。 私たちは、この名前空間は、Microsoft Accessと他のOLE DBデータベースプロバイダと連携する必要があります。 私たちは、Page_Loadのサブルーチン内のデータベースへの接続を作成します。 我々は、OLE DBプロバイダとデータベースの場所を特定する接続文字列を持つ新しいOleDbConnectionオブジェクトクラスとしてdbconn変数を作成します。 その後、我々は、データベース接続を開きます。

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

Note:接続文字列は、改行せずに連続した文字列でなければなりません!


データベースコマンドを作成します。

データベースから取得するレコードを指定するには、我々は新しいのOleDbCommandクラスとしてdbcomm変数を作成します。 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オブジェクトをOleDbCommandオブジェクトのExecuteReaderメソッドを呼び出すことによって作成されます。

<%@ 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コントロールにバインド

その後、我々は、Repeaterコントロールに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()
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()