LoginSignup
15
34

More than 5 years have passed since last update.

Visual Studio 2017でSQL Server LocalDBを使ったWindowsフォームアプリ開発

Last updated at Posted at 2017-03-26

Visual Studio 2017でSQL Server LocalDBを使ったWindowsフォームアプリを開発してみました。
LocalDBをプロジェクトに組み込みアプリケーションと一緒に配布できるようにしてみました。

環境

Windows 7 Professional SP1 64bit
Visual Studio 2017 Community
SQL Server Express 2016 LocalDB

※今回はWindows7で問題なく動作しましたが、SQL Server 2016からWindows7はサポート外となったようです。
https://docs.microsoft.com/ja-jp/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server

LocalDBデータベース作成

LocalDBのデータベースを作成する方法はこちらを参考にしてください。
http://qiita.com/akabei/items/7f62056e44dd2d44f703

SQL Serverオブジェクトエクスプローラーからデタッチ

SQL Serverオブジェクトエクスプローラーで作成したデータベースをサーバーエクスプローラーから接続しようとするとエラーになってしまうので、その前にデータベースをデタッチします。

aaa.png

サーバーエクスプローラーに接続を追加

サーバーエクスプローラーからデータ接続を右クリックしてメニューから「接続の追加...」を選択します。

5eaf807a-bb18-633b-bb43-34ae61e65795.png

ダイアログが表示されるので次のように入力します。

データソース: Microsoft SQL Sever (SqlClient)
サーバー名: (localdb)\ProjectsV13
データベースファイルのアタッチ: 作成したLocalDBデータベースファイル(*.mdf)を選択します。

aaa.png

サーバーエクスプローラーのデータ接続にデータベースが表示されます。

aaa.png

プロジェクト作成

新しいプロジェクトから「Visual Basic」、「Windowsクラシックデスクトップ」の「Windowsフォームアプリケーション」を選択します。(.NET Framework 4.6.1)

iii.png

データセット作成

新しい項目の追加でデータセットを追加します。

aaa.png

サーバーエクスプローラーからテーブルをデータセットへドラッグ&ドロップします。

aaa.png

データベースをプロジェクトにコピーしてそこへ接続するように変更するか確認されるので「はい」を押します。
これによりデータベースがプロジェクトに組み込まれアプリケーションと一緒に配布されるようになります。

aaa.png

データセットにテーブルへアクセスするTableAdapterが作成されます。
また、サーバーエクスプローラーのデータベースも接続先がプロジェクトのものに変更されます。

aaa.png

テーブルをフォームに配置

データソースからデータセットのテーブルをフォームにドラッグ&ドロップします。

aaa.png

グリッドがフォームに配置されるのでサイズや位置を調整します。

aaa.png

アプリケーション実行

デバッグを開始するとアプリケーションが実行され、グリッドにテーブルの内容が表示されます。

aaa.png

アプリケーション配布

ソリューションの以下フォルダのファイルを実行したいPCへコピーします。

Debugビルド
WindowsApp1\WindowsApp1\bin\Debug
Releaseビルド
WindowsApp1\WindowsApp1\bin\Release

aaa.png

配布先PCでアプリケーションを実行

配布先でアプリケーションを実行すると・・・エラーが!

eee.png

配布先のPCにLocalDBがインストールされていないのが原因でした。
LocalDBをインストールしてアプリケーションを動作させるまでの手順は以下を参考にして下さい。

SQL Server 2016 Express LocalDBインストール手順
http://qiita.com/akabei/items/89537546ddca3b962e81

15
34
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
34