投稿

1月, 2022の投稿を表示しています

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

イメージ
Razorページ+DBアクセス 練習問題 プロジェクト名:db_ex1 Employeeクラス db_ex0と同じ。 EmployeeDAOクラス Index.cshtml.cs Index.cshtml  プロジェクト名:db_ex2 Employeeクラス db_ex0と同じ。 EmployeeDAOクラス Index.cshtml.cs Index.cshtml  プロジェクト名:db_ex3 Employeeクラス db_ex0と同じ。 EmployeeDAOクラス Index.cshtml.cs Index.cshtml  プロジェクト名:db_ex4 Summaryクラス EmployeeDAOクラス Index.cshtml.cs Index.cshtml  プロジェクト名:db_ex5 Summaryクラス db_ex4と同じ。 EmployeeDAOクラス Index.cshtml.cs Index.cshtml  プロジェクト名:db_ex6 Employeeクラス db_ex0と同じ。 EmployeeDAOクラス Index.cshtml.cs Index.cshtml  以上、解答例でした。 今日のホワイトボード 練習問題のヒントを少し。 Listからforeachに要素を順にとりだす 〇キーワードvar 変数itemにはList<Item>型のlistの要素を1つずつ順に代入される。 listの要素はItemクラス型なので、変数itemに代入される値もItemクラス型。 宣言のさい、代入値から明らかに型が決まる場合、型を指定せずvarで宣言可能。 図 foreachで要素を順にとりだす SQLのあいまい検索 ワイルドカードを忘れていると思い、おさらい。 図 SQLのあいまい検索 予告 次回あたりから確認実技テストをやります。

1月27日(木)1コマ目

イメージ
今日、やったこと 前回のおさらい(DB検索結果を表示する) DB検索+Razorページの練習問題 今日のホワイトボード Listクラス たびたび、くどいほど説明してきたListクラスです。 配列のように複数用の要素をひとまとめにできるクラスです。 図 Listクラス XXクラス型の変数には参照情報が代入されます。C言語的に言えば、ポインタ変数です。 キーワードvar 変数宣言時に、 代入値から明らかに型がわかる場合は型名のかわりにvarで宣言できます 。 図 varで変数宣言 Listから要素を取り出すforeachでよく使います。  List<Employee> list = new List<Employee>();  // このlistの要素はEmployee型  foreach( var emp in list)   // 変数empの代入値はEmployee型なので、varで宣言可  { プロジェクト:db_ex0 おさらいのためにCS_部署マスタテーブルを全件検索して表示するdb_ex0プロジェクトを作成しました。 ソースをのせておきます。 Deptクラス(Dept.cs) 部署情報受け渡し用クラス(構造体のようなモノ)。1部署=1インスタンス。 DeptDAOクラス(DeptDAO.cs) CS_部署マスタテーブルアクセス用クラス。 Index.cshtml Index.cshtml.csのDeptプロパティ(部署情報検索結果)を表形式で表示。 Index.cshtml.cs OnGet()でDeptDAOを使って部署マスタ全件検索。結果をDeptプロパティにセット。 課題 db_ex1~db_ex6 基本的には 実行するSQL 検索結果を取り出し 表形式で表示 が変わるだけです。 予告 近日中に実技テストをします。

1月21日(金)3、4コマ目

イメージ
今日、やったこと Listクラス DB検索結果を表示する 今日のホワイトボード Listクラス Listクラスは配列と同じように複数のデータをひとまとめにすることができる。 配列と異なり、宣言時に要素数を指定する必要がない。 図 Listクラス プロパティ経由でListデータを表示 〇Index.cshtml.cs 要素がString型に限定されたList型のItemプロパティを用意。 OnGet()でItemプロパティに表示する値をセット。 List<Item>型のItemプロパティと追加されるItemクラスのインスタンスの関係は下図のとおり。 図 Itemプロパティ(List<Item>型)と追加されるItemクラスのインスタンス 〇Index.cshtml Index.cshtml.csのItemプロパティにアクセスするには  Model.Item  。 foreach(var i in Model.Item)でItemプロパティ(List<Item>型)から要素を1つづつ取り出し、変数iへ代入する。 改造 ItemクラスにGroupプロパティを追加。 グループ情報も表示する。 〇Index.cshtml.cs Itemクラスのインスタンス生成時にGroupプロパティ代入値も指定。 〇Index.cshtml.cs ItemクラスのGroupプロパティも表示。 DB検索結果を表示 Index.cshtml.csでDBアクセスすると、ソースコードが長くなり、見ずらい。 DBアクセスに特化したItemDAOクラスを作成して、Index.cshtml.csはItemDAOを使ってDBアクセスする。 ちなみにDAOはData Access Objectの略。 各クラスの関係、役割分担は下図のとおり。 ...

1月20日(木)1コマ目

イメージ
今日、やったこと コードブロック、コードナゲットのおさらい ~.cshtml.csから~.cshtmlにデータを渡す 今日のホワイトボード コードブロック、コードナゲットのおさらい ~.cshtmlは一見、HTMLファイルと同じですが、コードブロック(@{ }や@for(){ }など)を使うとC#のコードが書けます。  またコードナゲット(@変数名)を使うとHTMLにC#の変数の値を埋め込むことができます。 おさらい1 6行1列のテーブルを作成 図 おさらい1 行(<TR></TR>)の繰り返しです。 背景色の設定は奇数行にbgGreenクラスを、偶数行にはbgBlueクラスを指定します。 正解例(Index.cshtml) おさらい2 4行4列のテーブル作成 図 おさらい2 行(<TR></TR>)とセル(<TD></TD>)の繰り返しです。 3の倍数のときにbgGreenクラスを指定します。 正解例(SecondPage.cshtml) ~.cshtml.csから~.cshtmlへデータを渡す ~.cshtml.csのプロパティ経由で~.cshtmlに値を渡すことができます。 言い換えれば、~.cshtmlは~.cshtml.csのプロパティにアクセスすることができます。 図 ~.cshtmlと~.cshtml.cs 〇~.cshtml.cs プロパティを用意 。 OnGet()メソッド内でプロパティを初期化しています。 OnGet()メソッドはHTTPのGETコマンドでリクエストされたときに実行するメソッドです。 Webブラウザからこのページをリクエストすると(http://localhost:...

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

イメージ
今日、やったこと C#でWebアプリケーション(Razorページ) 今日のホワイトボード Webアプリケーションとは 広義ではクライアントとサーバー間の通信プロトコルがHTTP(またはHTTPS) を使うクライアント・サーバーアプリケーション。 狭義では通信プロトコルがHTTP(またはHTTPS)に加えて、クライアントにWebブラウザを使うクライアント・サーバーアプリケーション。 図 Webアプリケーション HTMLだけでは HTMLには繰り返しや条件分岐ができないため、動的なページ(表示ごとに内容が異なる)の生成ができない。 そこで、動的にページ生成をする仕組みがいろいろと用意されている。これから使うRazorページもその1つ。 Razorページを使う ①プロジェクト作成 VisualStudioを起動して「ASP.Net Coreアプリケーション」のプロジェクトを作成する。 図 「ASP.Net Coreアプリケーション」プロジェクト作成 作成する際に以下の画面で 「HTTPS用の構成」のチェックをはずす ことに注意。 図 「HTTPS用の構成」のチェックをはずす ②Startup.cs編集 「ASP.Net Core アプリケーション」プロジェクトは、デフォルトではRazorページは使うことができない。Startup.csを編集してRazorページを使えるようにする。 図 Startup.cs編集 ③Razorページ追加 RazorページはPagesフォルダ以下に配備する ように決められている。 まずはPagesフォルダを作成。 次に、PagesフォルダにRazorページを追加する。 ...

1月13日(木)1、2コマ目

イメージ
今日、やったこと HTMLのフォーム 今日の課題 HTMLのフォームを作成する課題をやりました。 図 課題のヒント 正解例をあげておきます。  

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

イメージ
今日、やったこと HTMLの表 HTMLのフォーム 今日のホワイトボード 今日も昨日に引き続きHTMLをやりました。 表 複数のタグを使って表を作成します。 <TR>タグで行を作成。 <TD>、<TH>タグでセルを作成。なお、<TD>は普通のデータ。<TH>は見出し。 図 表とタグ セルを連結する <TD>、<TH>タグにcolspan属性、rowspan属性を指定してセルを連結。 属性 役割 colspan 指定セルから 右のセル を、指定セルを含む指定数のセルを連結。 rowspan 指定セルから 下のセル を、指定セルを含む指定数のセルを連結。 図 セルの連結 <thead>、<tbody> 表のヘッダ部、ボディ部を分けるために利用。 なくても問題なし。   練習問題 解答例をあげておきます。 練習1 練習2 練習3 練習4 練習5 練習6 練習7 練習8 フォーム フォームとは、Webページでサーバーに送信するデータを入力する画面。 構成要素として入力・選択系の<input>タグ、選択リストの<select>タグがあります。 これらを<form></form>で囲んでフォームを作成します。 図 フォームから送信されるデータ 作成したサンプル1 作成する画面とタグは下図のように対応しています。 図 画面イメージとタグ ボタンをクリックすると、 <form>タグの method属性で指定した...

1月6日(木)1、2コマ目

イメージ
今日、やったこと HTMLのおさらい <style>タグを使う スタイル定義ファイルを使う 今日のホワイトボード 今までのおさらい タグとは style属性でフォントの色やサイズを変える <style>タグで特定のタグのデザイン設定 をやりました。 図 style属性での設定 IDが設定されたタグのデザイン指定 各タグにはid属性でidを設定できます。 idなので、HTMLファイル内では重複指定はできません。 IDが設定されたタグのデザイン指定をする場合は、セレクタを   #ID名 にします。 クラスが設定されたタグのデザイン指定 各タグにはclass属性でクラスを設定できます。 クラスは重複設定が可能です。 クラスが設定されたタグのデザイン指定をする場合は、セレクタを   .クラス名 にします。 図 セレクタ 練習1~5 解答例をあげておきます。 練習1 練習2 練習3 練習4 練習5 デザイン設定ファイルを使う HTMLには表示データ、デザイン設定はcssファイルと分けて使うケースが多いです。 図 htmlファイルとcssファイル 分けることで、複数のHTMLファイルが同じデザインを利用することが簡単にできます。 図 複数のHTMLファイルから同じcssファイルを参照する 練習6 解答例をあげておきます。