1月27日(金)1、2コマ目

今日の予習

エラー対策

1月26日(木)にDBアクセスするWebページを作成しました。が、実行するとエラーが発生してしまいました。

原因はDBアクセスで利用するODP.NETのバージョンが古かったためです。

そこで、新しいバージョンのODP.NETを利用できるようにします。

①新ODP.NETインストール先を作成

Dドライブにoracleフォルダを作成。

②新ODP.NETをD:\oracleにコピー

\\ostrich\2022i_public\C#\ASP.NETにあるOracle.ManagedDataAccess.dllをD:\oracle

にコピー。 

③プロジェクト作成時の”参照の追加”の参照先を変更

今までは

 C:\oracle\odp.net\core2\Oracle.ManagedDataAccess.dll

を参照していましたが、

 D:\oracle\Oracle.ManagedDataAccess.dll

に変更。


今日、やったこと

Razorページ+DBアクセス

今日のホワイトボード

練習問題1

グループ名を箇条書きで表示しました。

図 Web+DB 練習1

GroupDAO.cs

CS_グループマスタへのアクセスを担当。

SelectAll()メソッドはグループ名を全件検索。


Index.cshtml.cs

OnGet()メソッドで、GroupDAOクラスのSelectAll()メソッドでグループ一覧を取得し、GroupListプロパティにセット。


Index.cshtml

GroupListプロパティからグループ名を取得し、箇条書きで表示。


練習2

”商品名(価格)”を表形式で表示。

図 Web+DB 練習2

ItemDAO.cs

CS_商品マスタへのアクセスを担当。

SelectAll()メソッドは商品名と価格を全件検索。


Index.cshtml.cs

OnGet()メソッドで、ItemDAOクラスのSelectAll()メソッドでグループ一覧を取得し、ItemListプロパティにセット。


Index.cshtml

ItemListプロパティから"商品名(価格)"を取得し、表形式で表示。


練習3

”商品名(グループ名)”を表形式で表示。

図 Web+DB 練習3

ItemDAO.cs

CS_商品マスタへのアクセスを担当。

SelectAll()メソッドは商品名とグループ名を全件検索。


Index.cshtml.cs

OnGet()メソッドで、ItemDAOクラスのSelectAll()メソッドでグループ一覧を取得し、ItemListプロパティにセット。


Index.cshtml

ItemListプロパティから"商品名(グループ名)"を取得し、表形式で表示。


検索結果を1つのクラスでまとめてあつかう

下図のように、CS_商品マスタのID列、商品名列を全件検索した結果を表形式で表示します。
図 ID列、商品名列を表示

今までは1件の検索結果を1つの文字列(string型)で扱っていましたが、IDと商品名と別々に表示する場合、2つの情報をまとめて扱うことができると便利です。
そこで、Itemクラスを用意し、1商品=1インスタンスで扱います。
図 ItemクラスとItemDAOクラス
Index.cshtmlにて商品一覧を表示するさい、ID列はItemクラスのIdプロパティ、商品名列はNameプロパティにアクセスしてデータを取得します。
図 ItemクラスのIdプロパティ、Nameプロパティ

Item.cs

商品情報を受け渡すためのクラス。
1商品=1インスタンス

ItemDAO.cs

SelectAll()の戻り値はList<Item>。

Index.cshtml.cs

ItemListプロパティはList<Item>型。
要素はItemクラスのインスタンス。

Index.cshtml

Idプロパティ、Nameプロパティのアクセスに注意。

練習4

各商品のID、商品名、価格を表示。
図 Web+DB 練習4

ItemDAO.cs


Index.cshtml.cs


Index.cshtml


  

次回は

テストをします。


このブログの人気の投稿

10月3日(木)1コマ目

10月27日(木)1コマ目

10月14日(金)1、2コマ目