<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>データベース | 株式会社ファーストペンギン</title>
	<atom:link href="https://www.firstpenguin.co.jp/tag/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.firstpenguin.co.jp</link>
	<description></description>
	<lastBuildDate>Wed, 03 Jun 2020 10:32:15 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.firstpenguin.co.jp/wp-content/uploads/2019/09/cropped-icon-32x32.png</url>
	<title>データベース | 株式会社ファーストペンギン</title>
	<link>https://www.firstpenguin.co.jp</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://websubhub.com/hub"/>
<atom:link rel="self" href="https://www.firstpenguin.co.jp/tag/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9/feed/"/>
	<item>
		<title>C# でSQLiteにアクセスする処理を実装</title>
		<link>https://www.firstpenguin.co.jp/sqlite/</link>
		
		<dc:creator><![CDATA[takashima.kentaro]]></dc:creator>
		<pubDate>Wed, 03 Jun 2020 10:32:19 +0000</pubDate>
				<category><![CDATA[技術情報]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[SQLite3]]></category>
		<category><![CDATA[データベース]]></category>
		<guid isPermaLink="false">https://www.firstpenguin.co.jp/?p=231</guid>

					<description><![CDATA[C#でSQLite3を使ってみたのでまとめてみました。 目次 SQLiteをインストールコマンドラインツールでデータベース作成コマンドラインツールでテーブル作成C#によるデータベースアクセスパッケージのインストールプログ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>C#でSQLite3を使ってみたのでまとめてみました。</p>

  <div id="toc" class="toc tnt-number-detail toc-center tnt-number_detail border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">SQLiteをインストール</a></li><li><a href="#toc2" tabindex="0">コマンドラインツールでデータベース作成</a></li><li><a href="#toc3" tabindex="0">コマンドラインツールでテーブル作成</a></li><li><a href="#toc4" tabindex="0">C#によるデータベースアクセス</a></li><li><a href="#toc5" tabindex="0">パッケージのインストール</a></li><li><a href="#toc6" tabindex="0">プログラムでデータ抽出</a></li><li><a href="#toc7" tabindex="0">最後に</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">SQLiteをインストール</span></h2>
<p>SQLiteをコマンドから使用するためのコマンドラインツールのダウンロードとインストールを行います。</p>
<div class="information-box">コマンドラインツールはプログラムの開発時には必要ありません。<br />
先にデータベースやテーブルを作成しておく場合はインストールしてください。</div>
<p>まずはじめに<a rel="nofollow noopener" target="_blank" href="https://www.sqlite.org/">公式ページ<span class="fa fa-external-link external-icon anchor-icon"></span></a>にアクセスします。</p>
<div><a rel="nofollow noopener" target="_blank" href="https://www.sqlite.org/">https://www.sqlite.org/<span class="fa fa-external-link external-icon anchor-icon"></span></a></div>
<p>ページが表示されたら、画面上部の「Download」をクリックし、ダウンロードページに移動します。<br />
<img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-241" src="https://www.firstpenguin.co.jp/wp-content/uploads/SQLite_1.png" alt="" width="1200" height="792" srcset="https://www.firstpenguin.co.jp/wp-content/uploads/SQLite_1.png 1200w, https://www.firstpenguin.co.jp/wp-content/uploads/SQLite_1-300x198.png 300w, https://www.firstpenguin.co.jp/wp-content/uploads/SQLite_1-1024x676.png 1024w, https://www.firstpenguin.co.jp/wp-content/uploads/SQLite_1-768x507.png 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></p>
<p>今回はWindows10(64bit)の環境で利用しますので、ダウンロードページが表示されたら「Precompiled Binaries for Windows」まで移動し、「sqlite-tools」をダウンロードします。<br />
<img decoding="async" class="alignnone size-full wp-image-248" src="https://www.firstpenguin.co.jp/wp-content/uploads/SQLite_2-1.png" alt="" width="1196" height="1008" srcset="https://www.firstpenguin.co.jp/wp-content/uploads/SQLite_2-1.png 1196w, https://www.firstpenguin.co.jp/wp-content/uploads/SQLite_2-1-300x253.png 300w, https://www.firstpenguin.co.jp/wp-content/uploads/SQLite_2-1-1024x863.png 1024w, https://www.firstpenguin.co.jp/wp-content/uploads/SQLite_2-1-768x647.png 768w" sizes="(max-width: 1196px) 100vw, 1196px" /></p>
<p>ダウンロードしたファイルを任意のフォルダに解凍すればインストールは完了です。<br />
※コマンドラインツールなので、必要であればパスを通してください。</p>
<h2><span id="toc2">コマンドラインツールでデータベース作成</span></h2>
<p>コマンドプロンプトを起動し、先ほどインストールしたコマンドラインツールを使用してデータベースを作成します。<br />
※「データベース名＝ファイル名」となります。どのような拡張子でもよさそうですが、.dbや.sqlite3などをつけておくとわかりやすいと思います。</p>
<div>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-bash" data-lang="Command"><code>&gt; sqlite3 データベース名</code></pre>
</div>
</div>
<p>データベース名を指定してコマンドラインツールを実行すると、データベースが存在する場合は指定した名前のデータベースに接続し、指定した名前のデータベースが存在しない場合には新規にデータベースを作成した上で接続します。</p>
<div class="information-box">新規作成の場合、この時点ではデータベースファイルは作成されず、初めてテーブルを作成した際に作成されます。</div>
<h2><span id="toc3">コマンドラインツールでテーブル作成</span></h2>
<p>次にテーブルを作成してみます。（データベースに接続されている場合は、プロンプトに「sqlite&gt;」という表示となっています。）<br />
CREATE TABLEでテーブルが作成されますので、次のように実行してください。</p>
<div>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-sql" data-lang="SQL"><code>CREATE TABLE テーブル名(カラム1, カラム2, ...);</code></pre>
</div>
</div>
<p>最後に「；（セミコロン）」が無いとSQL文が発行されないようです。<br />
入力忘れた場合は次の行で<span class="keyboard-key">；</span>（セミコロン）と<span class="keyboard-key">Enter</span>を入力してください。</p>
<p>以上でテーブルまで作成されました。<br />
終了する場合は、「.exit」コマンドを入力してください。</p>
<div>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-sql" data-lang="Command"><code>sqlite&gt; .exit</code></pre>
</div>
</div>
<p>テーブルまで作成すると、データベース名のファイルが作成されていると思います。</p>
<div class="information-box">システム開発では作成されたファイルへ接続して処理を行いますので、データベースファイルはシステムでアクセスしやすいフォルダへ保管してください。</div>
<div>
<h2><span id="toc4">C#によるデータベースアクセス</span></h2>
<p>つぎに、C＃によるデータアクセスのためのデータベースを準備します。</p>
<p>コマンドラインツールで以下コマンドを実行しデータベースファイルを作成します。</p>
<div>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-plain" data-lang="Command"><code>&gt;sqlite3 sample.sqlite3
SQLite version x.xx.x xxxx-xx-xx xx:xx:xx
Enter ".help" for usage hints.
</code></pre>
</div>
</div>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-sql" data-lang="SQL"><code>CREATE TABLE t_sample(id, data);</code></pre>
</div>
<p>そのままデータもINSERTで追加して接続を終了します。</p>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-sql" data-lang="SQL"><code>INSERT INTO t_sample (id, data) VALUES (1, 'data01');
INSERT INTO t_sample (id, data) VALUES (2, 'data02');
INSERT INTO t_sample (id, data) VALUES (3, 'data03');</code></pre>
</div>
<div>
<div>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-plain" data-lang="Command"><code>sqlite&gt; .exit</code></pre>
</div>
</div>
</div>
<h2><span id="toc5">パッケージのインストール</span></h2>
<p>C#でSQLiteを操作するためにパッケージをインストールします。<br />
導入するソリューションを作成するか、既存のソリューションを開いてください。</p>
<p>VisualStudioが立ち上がったら</p>
<div class="info-box">「ツール」→「NuGetパッケージマネージャー」→「ソリューションのNuGetパッケージの管理」</div>
<p>を選択し管理画面を開きます。</p>
<p>検索窓へ「SQLite」を入力し、参照タブへ移動します。<br />
すると多数の検索結果が表示されますが、今回は必要最低限の機能のみ使用しますので、</p>
<div class="info-box">「System.Data.SQLite.Core」</div>
<p>をインストールしてください。</p>
<h2><span id="toc6">プログラムでデータ抽出</span></h2>
<p>パッケージのインストールが完了したら、実際にデータを取得してみます。<br />
以下のコードを実行すると、作成したデータベースファイルへ接続し、データが抽出されます。</p>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-csharp" data-lang="C#"><code>//データベースのファイルパスを指定
var constr =new SQLiteConnectionStringBuilder {DataSource = "sample.sqlite3" };
using (var cn = new SQLiteConnection(constr.ToString()))
{
    //データベースへ接続
    cn.Open();
    cmd = new SQLiteCommand(cn))
    {
        //データ抽出
        cmd.CommandText = $"SELECT * FROM  t_sample";
        using (var reader = cmd.ExecuteReader())
        {
            while (reader.Read())
            {
                Console.WriteLine(reader.GetValues().Get("data"));
            }
        }
    }
}</code></pre>
</div>
</div>
<div>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-plain" data-lang="実行結果">//実行結果
//data01
//data02
//data03</pre>
</div>
</div>
<div>
<h2><span id="toc7">最後に</span></h2>
<p>データベースの作成～コーディングの実装まで比較的簡単に行えました。<br />
まだまだ使っていない機能もたくさんありますので、今後も勉強しながら使っていこうと思います。</p>
</div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
