Webフォームデータベース接続
ASP.NET Web フォーム - データベース接続
ADO.NET も .NET Framework の一部です。データ アクセスの処理には ADO.NET が使用されます。 ADO.NET を使用すると、データベースを操作できます。
試してみる - 例
データベース接続 - DataList コントロールにバインドする
データベース接続 - Replying to コントロールにバインドする
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 サブルーチンでこのデータベースへの接続を作成します。 dbconn 変数を作成し、OLE DB プロバイダーとデータベースの場所を示す接続文字列を含む新しい OleDbConnection クラスを割り当てます。次に、データベース接続を開きます:
<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;
データ ソース=" & server.mappath("northwind.mdb"))
dbconn.Open()
sql="SELECT * お客様から"
dbcomm=New OleDbCommand(sql,dbconn)
end sub
</script>
Create DataReader
OleDbDataReader クラスは、データ ソースからレコード ストリームを読み取るために使用されます。 DataReader は、OleDbCommand オブジェクトの ExecuteReader メソッドを呼び出すことで作成されます:
<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 からリピーターへのコントロール:
インスタンス
<%@ 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("/db/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> <!DOCTYPE html> <html> <body> <form runat="server"> <asp:Repeater id="customers" runat="server"> <HeaderTemplate> <table border="1" width="100%"> <tr bgcolor="#b0c4de"> <th>Companyname</th> <th>Contactname</th> <th>Address</th> <th>City</th> </tr> </HeaderTemplate> <ItemTemplate> <tr bgcolor="#f0f0f0"> <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 とデータベース接続を忘れずに閉じてください:
dbconn.Close()