投稿

4月, 2026の投稿を表示しています

4月28日(火)1、2コマ目

イメージ
今日の予習 Sessionオブジェクトをつかうために Sessionオブジェクトを使う際はProgram.csを編集する必要がある。 今日、やったこと [おさらい]Razorページ+DB(DBNull、null許容型) Sessionオブジェクト 今日のホワイトボード [おさらい]Razorページ+DB(DBNull、null許容型) 正解例をあげておきます。 Group.cs cs_グループマスタテーブル情報受け渡し用クラス。 Item.cs cs_商品マスタテーブル情報受け渡し用クラス。 価格列はnullな可能性あり。Priceプロパティはnull許容型に。 GroupDAO.cs cs_グループマスタテーブルアクセス用クラス。 ItemDAO.cs cs_商品マスタテーブルアクセス用クラス。 価格列がnullな行がある。OracleDataReaderはnullな場合は、DBNullを返す。 図 DBがnull DataReaderはDBNullを貸す Index.cshtml.cs とくにややこしいことはないかと。 Index.cshtml ItemクラスのPriceプロパティはnull許容型。nullの場合は空白文字列を出力したい。 図 ?演算子(Null条件演算子)、??演算子(Null合体演算子) [Sessionオブジェクト]HTTPはステートレスなプロトコル HTTPは リクエスト レスポンス の1往復で完結するプロトコル。 よって、 複数のやり取りでデータを共有する仕組みはない 。 図 HTTPの仕組み [Sessionオブジェクト]リク...

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"にて定義。{ }内は  項目名:設定値 のフォーマット。 なお、...

4月14日(火)1、2コマ目

イメージ
今日、やったこと 1年次のおさらい 今日のホワイトボード 今日は1年次のおさらい。 練習1 正解例をあげておきます。 Program.cs Coffee.cs コーヒー情報受け渡し用クラス。 ToString()メソッドはインスタンス情報を文字列化する際によく使われるメソッド。 Index.cshtml.cs Webフォーム内(<form>と</form>のなか)の送信ボタンをクリックするとPOSTコマンドでサーバーをリクエスト。 POSTコマンドでリクエストされると、サーバーはOnPost()メソッドを実行する。 OnPost()メソッドの引数coffeeは選択したコーヒーのID。   Index.cshtml 選択コーヒー情報を表示する際、選択コーヒーがnullか否かで表示内容が異なる。 ifでnullチェックもいいが、null条件演算子(?)でnullか否かをチェックし、nullならnull合体演算子(??)で代替を出力する。 図 null条件演算子+null合体演算子 練習3 正解例をあげておきます。 Program.cs 練習1とおなじ。 Coffee.cs コーヒー情報受け渡し用クラス。 ToString()メソッドは 引数なし 引数あり(Sizeクラス型1つ) の2つある。 C#やJava(いまどきのプログラミング言語はほぼすべて)は引数の違いで呼び分け可能なら、同名のメソッドを複数つくることができる。 Size.cs サイズ情報受け渡し用クラス。 Index.cshtml.cs Index.cshtml ラジオボタンは同じグループ(name属性が同じ)から1つだけ選択可。 図 ラジオボタン 次回は 1年次のおさらい(DB利用版)。