test

2017年06月9日

ESXi6.0でPSoDを体験したので再インストールした

35142692566_3650972d1a_z

ESXi6.0の起動中に画面が紫色になって起動できなくなったのでESXiを再インストールした話をします。

続きを読む

2017年05月17日

ESXi6.0で仮想マシンがmsg.vmk.status.VMK_NOT_FOUNDで起動できなくなった

一昨日までは動いていた仮想マシンが、昨日突然起動しなくなり、今日起動できるようになった話をします。

続きを読む

2017年04月26日

Web Tile を用いた Microsoft Band 2 アプリケーション開発

WP_20170426_10_58_02_Raw_

いまさら Microsoft Band 2 を購入したので、Band 上で動作するアプリケーション(以降、Band アプリケーションと呼称)を作ってみました。
続きを読む

2016年12月20日

【ポタフェス冬】 SEIUN Pro / Pro Xのレポート

seiun

12/17・18に開催されたポタフェスに参加してきました。

CYBERDRIVEブースで聞いてきたSEIUN Pro / Pro Xの現状について簡単にまとめます。

続きを読む

2016年02月6日

SQLiteによるデータベースUWP開発

ローカルデータベースを使用したUWPアプリケーション開発において、データベースにSQLiteを使用することが可能です。

以下に、SQLite.NETを用いてSQLiteを使用する手順を示します。

 

インストール

SQLiteのダウンロードページからUniversal App PlatformのVSIXパッケージ(sqlite-uap-****.vsix)をダウンロード&インストールします。

bandicam 2016-02-04 09-34-34-554

ソリューションエクスプローラ→参照→参照の追加で参照マネージャーを開き、Universal Windows→拡張から次の2つを追加します。

  • SQLite for Universal App Platfrom
  • Visual C++ 2015 Runtime for Universal Windows Platform Apps

bandicam 2016-02-04 09-38-05-393

ソリューションエクスプローラ→参照→NuGetパッケージの管理でNuGetマネージャーを開き、SQLite.NET PCLをインストールします。

bandicam 2016-02-04 09-44-23-168

以上でライブラリのインストールは終了です。

 

サンプルコード

データベースを使用したサンプルとして、ここでは商品情報をデータベースで管理することを考えます。

まず、商品情報を表すProductクラスを次のように定義します。

using SQLite.Net.Attributes;

class Product
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }

    public string Title { get; set; }
}

Productクラスはint型のIdプロパティとstring型のTitleプロパティを持ちます。

Idプロパティには、PrimaryKeyとAutoIncrementの属性を付加しています。これは、Idプロパティが主キーであると同時に、データベース格納時に自動的に値が設定されることを示しています。

すなわち、Productクラスはデータベースのテーブル定義として利用されます。

 

次に、Productクラスをデータベースで管理する一連のコードを示します。

using SQLite.Net;
using SQLite.Net.Platform.WinRT;

// コネクションの作成
string storagePath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "Storage.sqlite");
using (var db = new SQLiteConnection(new SQLitePlatformWinRT(), storagePath))
{
    // テーブルの作成
    db.CreateTable<Product>();

    // テーブル情報の取得
    var info = db.GetMapping(typeof(Product));

    // データの挿入
    Product product = new Product() { Title = "Hoge" };
    db.Insert(product);

    // データの取得
    var items = db.Table<Product>().Where(x => x.Id == 1);

    // データの更新
    product.Title = "Fuga";
    db.Update(product);

    // データの削除1 (オブジェクトの指定)
    db.Delete(product);

    // データの削除2 (条件の指定)
    db.Execute("DELETE FROM Person WHERE Id = ?", product.Id);
}

データベースとのコネクションを接続するために、SQLiteConnectionクラスのインスタンスを生成します。SQLiteConnectionクラスのコンストラクタには、プラットフォームの種類とデータベースの場所を指定します。

データベースにテーブルを定義するには、CreateTable<>()メソッドを使用します。また、テーブルの情報はGetMapping()メソッドで取得できます。

データの削除は、削除対象のオブジェクトがあればDelete()メソッドを使用します。オブジェクトがない場合は、Execute()メソッドによりSQL文を直接実行することで削除できます。

2016年01月31日

はじめてのWindows Phone [Lumia 930]

WP_20160131_16_26_23_Rich

外観に一目惚れしてLumia 930を買った感想。 続きを読む

2015年09月15日

Raspberry Pi 2 + CentOS7でyumを使う

Raspberry Pi 2にCentOS7を入れてyum updateをするとリポジトリのエラーが発生します。

mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/tmp/

で解決しました。

参考:CentOS Linux 7 and Arm

2015年09月13日

DEFT LinuxをUSBブートする

deftlinux

DEFT LinuxをUSBメモリにインストールしてUSBブートするまでの手順を示します。

続きを読む

2015年08月8日

VisualStudio2015でzlibを使いたい(64bit)

Windows7(64bit) + VisualStudio2015でzlib(compress()/uncompress())を使うまでのメモ。

ちなみに言語はC++です。

続きを読む

2015年03月28日

Iconをbyte配列に変換する C#

Iconをデータベースに保存する需要があり、Image型(byte配列)に変換することになりました。

続きを読む