15
34

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?