4月21日(火)1、2コマ目
今日、やったこと
- [おさらい] Razorページ+DBアクセス
- 接続文字列を設定ファイルappsettings.jsonで設定
今日のホワイトボード
[おさらい] Razorページ+DBアクセス
前回につづき、今回も1年次のおさらい。今回はDBアクセスも行う。
C#からオラクルDBにアクセス
オラクルが用意するODP.NETを使ってオラクルDBにアクセス。
ODP.NETを使うには、Oracle.ManagedDataAccess.dllが必要。
"参照の追加"でプロジェクトにOracle.ManagedDataAccess.dllへの参照を追加する。
ソースコードをあげておきます。
Program.cs
前回とおなじ。
Group.cs
cs_グループマスタ情報受け渡し用クラス。
Item.cs
cs_商品マスタ情報受け渡し用クラス。
GroupDAO.cs
cs_グループマスタテーブルアクセス用クラス。
ItemDAO.cs
cs_商品マスタテーブルアクセス用クラス。
Index.cshtml.cs
検索ボタンクリック時はPOSTコマンドでリクエストされる。
POSTコマンドリクエスト時にはOnPost()メソッドが動く。
Index.cshtml
とくにややこしいことはないかと。
接続文字列を設定ファイルappsettings.jsonで設定
いままでは各DAOクラスにて、接続文字列を定数として定義していた。
同じ内容を重複してコーディングするのはよくないので、一か所で定義したい。
ASP.Net
Coreにはプロジェクトの設定ファイルappsettings.jsonがあるので、ここで定義。
|
| 図 appsessions.jsonに定義された接続文字列を読み込み |
appsettings.json
接続文字列は項目名"ConnectionStrings"にて定義。{ }内は
項目名:設定値
のフォーマット。
なお、複数項目設定可能。
Program.cs
前回とおなじ。
Group.cs
cs_グループマスタ情報受け渡し用クラス。
Item.cs
GroupDAO.cs
接続文字列はappsettings.json設定内容を参照するように変更。
appsettings.jsonにアクセスできるIConfiguration型のインスタンスのgetConnectionString()メソッドで接続文字列を取得。
ItemDAO.cs
GroupDAO.csと同じように、接続文字列はappsettings.jsonから取得。
Index.cshtml.cs
コンストラクタでappsettings.jsonにアクセスするためのIConfiguration型のインスタンスを取得。
Index.cshtml
おさらいと同じ。
クラスxx、インスタンスxx
staticが付くのはクラスフィールド、クラスメソッド。1クラスに1個だけ。
staticがつかないのはインスタンスフィールド、インスタンスメソッド。各インスタンスに用意される。
|
| 図 クラスxx、インスタンスxx |
次回は
Razorページ+DBアクセスのつづき。
セッションオブジェクト。

