Windowsフォームによる業務プログラミングチュートリアル
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
src
.gitignore
README.md

README.md

Windowsフォームによる業務プログラミングチュートリアル

はじめに

本文書は業務アプリケーションを作成するにはどのようにプログラミングを行えばよいか、チュートリアル形式で学んでいきます。業務アプリを作成するには、アルゴリズム、プログラミング言語、GUIプログラミング、DB、DBプログラミングといった各種の知識・スキルを組み合わて作業を行う必要があり、初心者が一からすべてを行うのは困難です。本文書では段階を踏み、どのようにそれぞれの技術要素を応用していくかを学びます。

想定する読者

  • C#を使った基本的なプログラミングが行える
  • 簡単なGUIプログラミングの基本を理解している
  • RDBMSの基本的な知識(DDL、DML等のSQL、トランザクション制御など)を理解している
  • 簡単なDBプログラミングの基本を理解している

本文書のゴール

  • 業務システムが使うDBスキーマを作成できる
  • 設計書を元に業務データを編集するアプリを作成できる
  • アプリに必要な機能を、それぞれの責務に応じた型に分割できる

本文書の開発環境

  • Windows 10 Pro 64bit
  • Visual Studio 2017 Community
  • Oracle Database 12c Release 1

作成するアプリ

場所ごとに管理された会議室に対し、期間と利用者を指定して予約情報を登録する、「会議室予約システム」を作成します。

会議室予約システムの仕様については機能仕様書を参照してください。また、テーブルなどのデータベースオブジェクトについては、DB設計書を参照してください。

なお、本チュートリアルでは、会議室の参照、編集を行う「会議室管理」機能のみを作成します。続きについては、各自で課題として取り組んでみてください。

目次

  1. DBを準備しよう
  2. ソリューションを作成しよう
  3. Entityクラスを作成しよう
  4. Modelクラスを作成しよう
  5. 画面を作成しよう
  6. Modelクラスをの処理を画面から呼び出そう
  7. 会議室を登録しよう
  8. 会議室を検索しよう
  9. 会議室を変更、削除しよう
  10. 入力チェックを行おう
  11. アプリを完成させよう
  12. 最後に

サンプルについて

各章のサンプルコードは、srcフォルダーの下にある章番号フォルダーの中にあります。リポジトリをクローンするか、zipファイル等でダウンロードして展開後、Visual Studioでソリューションを開いて内容を確認してください。

高DPI環境について

本文書内のコントロールのサイズや位置に指定する値は、ディスプレイの拡大率が100%の場合を想定しています。高DPIなディスプレイにおいて、拡大率を150%等にしている場合、サイズの指定が「ピクセル」単位のため、文字が見切れたりすることがあります。その場合、適宜コントロールのサイズを調整し、文字が見切れないようにしてください。

DB接続文字列について

実行する際は、各プロジェクト内のApp.configファイルの以下の部分のHOSTPORTSERVICE_NAME等を、各自の環境に合わせて変更してください。

  <!-- (4) -->
  <oracle.manageddataaccess.client>
    <version number="*">
      <dataSources>
        <!-- (5) -->
        <dataSource alias="ORCL"
          descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hostname)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) "/>
      </dataSources>
    </version>
  </oracle.manageddataaccess.client>

参考資料

ライセンス

クリエイティブ・コモンズ・ライセンス

この 作品 は クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンス の下に提供されています。