記事

IoTの格納先を考える(7)Visual Studio 2017を利用

Visual Studio 2017のインストール、DATAGRIDVIEWでアップデート


 前回までVisual Studio 2015を利用していましたが、2017年3月にVisual Studio 2017(バージョン15.0)がリリースされました。今後はVisual Studio 2017を利用することとして、最新のVisual Studio 2017を次のページに示す手順に従いインストールしました。

  「IoTへの挑戦 Raspberry PiでWindows 10 IoT Coreを動かす(4)(Ver 2.0)
  無償で使える開発ツールVisual Studioのインストール
  http://www.denshi.club/make/2016/01/iotraspberry-piwindows10-iot4.html 」

 このページでは、2017年6月現在のVisual Studio 2017のダウンロードページからのダウンロード、インストールについて説明してあります。以後、ページの改善があると思われます。表現の改善があったとしても基本的な作業方法については当面変わらないと思われます。大きな変更があった場合は、記事のアップデートも予定しています。
 Visual Studio 2017のインストールが終わった後は、前回作成したテーブルにキーの設定を行い、DATAGRIDVIEWコントロールを利用してテーブルのメインテナンスを行うプログラムを作ります。

SSMS(SQL Server Management Studio)もアップデート
 Microsoft SQL Server Management Studioについても17.0のリリースが2017年1月末、17.1が2017年5月に公開されています。今回Microsoft SQL Server Management Studio(17.1リリース)をダウンロード、インストールしました。
  https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms
 前回、音楽映画TV所蔵データの各テーブルについてそれぞれのレコードを特定するキーを想定していましたが、テーブルの作成時にキーの指定がもれていました。
 最初に、新しくインストールしたSSMS(17.1)で、各テーブルに主キーを設定します。

SSMSの起動
 SSMSを起動すると、次に示すサーバーへの接続のダイアログボックスが表示されます。

 サーバー名には前回接続したサーバー名がセットされていますが、初めて、SSMSを起動するときは、サーバー名の入力欄の下向きの矢印をクリックし、サーバーの参照のダイアログボックスを表示して接続するサーバーを選択します。

 データベースエンジンの下にYASUM2\SQLEXPRESSのサーバーがあります。このサーバーを選択すると「OK」ボタンがイネーブルになります。OKボタンをクリックして次に進むと、次に示すようにYASUM2\SQLEXPRESSが選択され「接続」ボタンもイネーブルになります。

 接続ボタンをクリックすると、次に示すようにオブジェクトエクスプローラーにサーバーの内容が表示されます。

 データベースを展開し、今回対象となる「映画TV音楽所蔵データ」データベースの各テーブルの内容を確認していきます。

 

メディアテーブルのキーの設定状況を確認
 メディアテーブルのキーの設定状況を確認します。そのために、次に示すようにメディアテーブルのマウスの右ボタンでクリックし表示されるリストの「構造」を選択します。

 次に示すように、メディアテーブルの設定状況が示されます。キーに関する設定が見当たりません。

 主キーはメディアコードを割り当てる予定でした。メディアコードを選択して次に示すようにマウスの右ボタンでクリックすると「主キーの設定」、列の挿入、削除などのここで選択できる処理がリスト表示されます。

 「主キーの設定」を選択すると、メディアコードの前にキーのアイコンが表示され、主キーに設定されます。あわせて、オブジェクトエクスプローラーのメディアコードのアイコンがキーになります。

 出演者テーブルは、メディアコードとサブNoの二つの配列がそろってユニークなキーになるので、主キーはこの二つの配列を設定します。
 設定方法は、次に示すようにCtrlキーを押しながら各配列の先頭のアイコンなどがセットされる□をマウスで選択します。主キーにする必要な配列の選択を終えたら、次にマウスの右ボタンをクリックして表示されるリストから主キーの設定を選択します。


 主キーが複数の配列で構成されている場合、次に示すようにそれぞれの配列の先頭には主キーであることを示すアイコンが表示されます。

 

Visual Studio 2017で各テーブルの追加更新を行うプログラムの作成
 今回は、新しくインストールしたVisual Studio 2017とDATAGRIDVIEWコントロールを利用して、コーディングすることなくテーブルのメインテナンスが行えるプログラムを作成します。

Visual Studio 2017を起動する
 Visual Studio 2017を起動すると、次に初期画面が表示されます。フォームを利用するテンプレートで新しいプロジェクトを作成し、データベースを接続し、データソースを追加します。フォーム上にテーブルのデータソースをドラッグしてDATAGRIDVIEWのコントロールを作成し、プログラムをビルドします。

 

プロジェクトの作成
 メニューバーの

 ファイル>新規作成>プロジェクト

 
を選択すると、次のテンプレートの選択ウィンドウが表示されます。デフォルトで表示されるのはユニバーサルWindowのテンプレートとなっています。今回はこのテンプレートが利用できません。

 次に示すように、Windowsクラシックデスクトップを選択し、その中のWindowsフォームアプリケーション( .Net Framework)を選びます。また、この画面でプロジェクト名も設定します。

 

データベースの接続
 プロジェクトを作成した後にデータベースの接続を行います。メニューバーの、

  ツール>データベースの接続


を選択し、次に示す「接続の追加」のウィンドウを表示します。
 ここでは、PC名がYASUM2で、SQL Server EXPRESSのサーバー名はSQLEXPRESSですので、サーバー名には、

   YASUM2\SQLEXPRESS

  
を設定します。このサーバー名を設定すると「データベース名の選択または入力」の欄で「音楽映画TV所蔵データ」を選択できるようになります。

 

データソースの追加
 データベースの接続を終えると、次に示すように「新しいデータソースの追加」が選択できるようになります。

 「新しいデータソースの追加」をダブルクリックすると、次に示す「データソース構成ウィザード」が起動します。

 データベースを選択し「次へ」クリックして進みます。

 データベースモデルはデータセットです。次へ進みます。

 音楽映画TV所蔵データ .dboが新しい接続として選択されていることを確認し、次に進みます。

 データベースに接続するための接続文字列を、アプリケーション構成ファイルに保存して次に進みます。実際に使用するオブジェクトの選択を行うために、データベースオブジェクトが表示されます。

 テーブルを選択しテーブルの詳細を示します。

 全テーブルを選択し完了します。データ構成ウィザードが完了すると、データソースのテーブルをフォームにドラッグできるようになります。

 

 ドラッグしたメディアテーブルのオブジェクトの表示を拡大して見やすくし、フォームが選択されているときにプロパティのペインに表示されるフォームのTextプロパティの値を、テーブル名のメディアテーブルに変更しました。フォームの見出しがメディアテーブルに変わります。

 

 DebugをReleaseに変更し、次に示すようにメニューバーのビルドを選択し、リストにあるビルド選択しプログラムのビルドを行います。

 実行可能なオブジェクトが、

  ドキュメント\Visual Studio 2017\Project\sqldbap0351\bin\Release

 
のフォルダに、プロジェクト名のexeファイルが作成されています。


 
 このプログラムをダブルクリックして起動すると、次に示すように表形式で表示され、データの追加、削除、更新が行われます。

 音楽映画TV所蔵データの全テーブルについて同様に修正プログラムを作成し、それぞれのプログラムを起動するショートカットを作成し次に示すように、デスクトップのフォルダに格納しました。プログラムを起動するときはそのショートカットでプログラムを起動するようにしました。

 

 それぞれのプログラムは、同時に画面に表示してそれぞれ確認しながらメインテナンスできます。

 今回は、プログラムの命令は一つも書かず、コードエディタの画面を開くことなくメインテナンスのプログラムを作ることができました。
 次回、この処理でどのようなプログラムが作られたのか確認します。

(2017/6/22 V1.0)

 <神崎康宏>

IoTの格納先を考える

(1) SQL Server Express

(2) ユーティリティのインストール

(3) 音楽データを題材に

(4) テーブルの検討

(5) SQL Server Management Studioでテーブルの作成

(6) Visual StudioでSQLSeverと連携

(7) Visual Studio 2017を利用

(8) メインテナンス・プログラムの作成

(9) メインテナンス・プログラムの作成 その2