2018-01-01から1年間の記事一覧
ExcelからODBC経由でSQLite3へアクセスする方法 準備 SQLite ODBC Driver からSQLite ODBC Driverをダウンロードしてインストールする。64bit版はsqliteodbc_w64.exe(現時点の最新はVer.0.9996) インストールを行うとsqlite3.dllがC:\Windows\System32に見つ…
特定のレコード範囲をウィンドウ設定して、そのウィンドウに対して操作を行う機能。 sqlite> select * from AAA; tt ii ---------- ---------- aa 6 bb 5 aa 4 bb 3 aa 2 bb 1 OVER句
指定したカラムで重複ているものを除去して出力する sqlite> select * from AAA; tt ii rr ---------- ---------- ---------- aaa 1 1.0 aaa 1 2.0 aaa 2 3.0 aaa 2 4.0 sqlite> select distinct tt from AAA; tt ---------- aaa sqlite> select distinct tt…
LIMIT句で出力するレコード数を、OFFSET句で最初からスキップするレコード数を指定する。 sqlite> select * from AAA; tt rr ---------- ---------- aaa 8.0 bbb 7.0 ccc 6.0 ddd 5.0 aaa 4.0 bbb 3.0 ccc 2.0 ddd 1.0 sqlite> select * from AAA limit 1; t…
指定したカラムを昇順(ASC,省略可)または降順(DESC)でソートして出力する。 sqlite> select * from AAA; tt rr ---------- ---------- aaa 8.0 bbb 7.0 ccc 6.0 ddd 5.0 aaa 4.0 bbb 3.0 ccc 2.0 ddd 1.0 sqlite> select * from AAA order by tt asc, rr…
2つのテーブルの指定したカラムで結合することで2つのテーブルをカラム方向に広げたひとつのテーブルとして扱う sqlite> select * from AAA; tt ii ---------- ---------- aaa 1 bbb 2 ccc 3 ddd 4 sqlite> select * from BBB; ii rr ---------- ----------…
指定したカラム毎にグループ化して、そのグループ内で処理を行う sqlite> select * from AAA; tt cate val ---------- ---------- ---------- aaa A 1.0 bbb A 2.0 aaa A 3.0 bbb B 4.0 aaa B 5.0 bbb B 6.0 aaa C 7.0 bbb C 8.0 selectにカラム名のみ記述し…
sqlite> select * from AAA; ii tt rr ---------- ---------- ---------- 1 aaa 1.0 2 bbb 2.0 3 ccc 3.0 ddd 4.0 5 eee SUMとTOTAL
sqlite> select * from AAA; ii tt ---------- ---------- 1 aaa bbb 3 ccc 4 5 ddd 6 eee fff 8 9 ggg 一致、比較、否定
sqlite> create table AAA(ii integer, tt text, rr real); sqlite> insert into AAA values(1, 'aaa', 0.8), ...> (2, 'aaa', 0.7), ...> (3, 'bbb', 0.6), ...> (4, 'bbb', 0.5), ...> (5, 'ccc', 0.4), ...> (6, 'ccc', 0.3), ...> (7, 'ddd', 0.2), ...>…
ROWID 特に指定しなくても、レコードをユニークに決定するROWIDというinteger型のカラムが内部的に付加される。 sqlite> create table AAA(ii integer, tt text); sqlite> insert into AAA values(10, 'aaa'),(20, 'bbb'); sqlite> select rowid,* from AAA;…
個人や小規模のデータベースで使用するSQLiteの勉強 作成されるデータベースファイルは一個なので手軽に管理できる。 入手先 以下のサイトのDownloadから入手する。現時点のバージョンは3.25.3。 Windows環境でプログラムからDLLを使用する場合は、sqlite-dl…
目的 ListBoxとTextBoxがあるユーザーフォームで、TextBoxに入力したデータをListBoxに追加していきたい。 その時Enter押下だけで連続に入力していく様にしたい。 試行錯誤 通常はTextBoxにデータを入力したあとにEnterを押すとフォーカスが別のコントロール…
Enumerableなオブジェクトに対して様々な加工が可能である。面白いのは組み合わせて使用できること。 注意点としてはReserveメソッドのみ自身を書き換えること。試した範囲では他のメソッドは新規のEnumerableなオブジェクトを生成した。
メソッドの引数を参照渡しで行う場合は、仮引数だけでなく、実引数側にも ref をつける。これはメソッドの引数にしたことで、メソッド側から書き換えが発生する可能性のあることを明示する為である。 メソッドの結果を引数経由で呼び出し側に渡す用途の場合…
メソッド定義の仮引数に規定値を付けると、メソッド呼び出し時にその引数を省略することができる。ただし仮引数の並びで、規定値有りの引数の後ろに規定値無しの引数を置くことはできない。また、メソッド呼び出し時に 仮引数名 : 値とすることで仮引数の順…
IEnumerable<T>型のメソッドを定義して、その処理中に yield return 値; を記述することで、IEnumerable<T>オブジェクトを生成することができる。 IEnumerable<int> MyEnumerable() { 処理; yield return 値; 処理; } この方法を利用したほうが、IEnumerable</int>…
ジェネリックに対応させるには、昨日に対してIEnumerable<T>、IEnumerator<T>とIDisposableインターフェースを追加して継承する。 interface IEnumerable<T> { IEnumerator<T> GetEnumerator(); } interface IEnumerator<T> { T Current { get; } } GetEnumerator</t></t></t>…
foreach文において in の後に置けるオブジェクトはIEnumerableインターフェースを継承したクラスとなる。 IEnumerableは、GetEnumeratorメソッドでIEnumeratorオブジェクトを返す。 interface IEnumerable { IEnumerator GetEnumerator(); } GetEnumeratorメ…
デリゲートとは要するにラムダ式をいれるデリーゲート型変数を定義して使用する仕組み。 デリゲート型は以下のように定義する。 delegate 戻り値型 デリゲート型(引数型と引数名リスト); あるデリゲート型で宣言したデリゲート変数は、その型で定義された戻…
Listコレクションでラムダ式を引数にしているメソッドの使用例。
処理をひとつの固まりとして扱うのがラムダ式。 (引数リスト) => {処理}; (引数リスト) => {処理; return 戻り値;};引数がひとつの場合や、処理が単文の場合は括弧を省略できる。また処理が単文の場合はreturnも省略できる。 ラムダ式は、デリゲート型の変数…
配列のコレクション版。 の部分に型を指定してnewを行うことで、その型のコレクションとなる。
基本的にはPowerShellやExcel VBAのものと同じ感じ。 マッチさせた結果は、MatchやMatchesのインスタンスに格納される。
blog.livedoor.jpなんという凶悪なバグ! 幸い自分のPCでは、この症状は出ていない&データバックアップしているので問題は生じませんが…… 昨年のインストール失敗の例もあるので、配信されて直ぐに自分からインストールしに行くのは止めておいた方が良さげ…
Directoryクラスの静的メソッドを使用することで、全て、ファイルのみ、サブディレクトリのみと取得できる。またワイルドカードを使用して特定もののみを取得することも可能である。 全てを取得した場合は、ディレクトリかファイルかの区別はFile.GetAttribu…
適用終了。 無事に済んで何よりでした。
昨日使用したusingブロックの動作の確認。 MSのドキュメントによると、using( )内で宣言できるのは、IDisposableインターフェースを継承したクラスになる。具体的には、void Dispose() メソッドを持っていることが必要となる。 usingブロックを抜ける際に、…
テキストファイルに対して1行単位で読み書きする例。 エンコード(文字コード)は環境のデフォルトのものを取得して設定している。設定を省略した場合はutf-8となる。特定のエンコードを指定する場合は、GetEncodingメソッドを使用する。 通常はusingを使用…
例外処理 例外処理は他の言語と一緒。tryブロックで例外が発生した場合、発生した例外の種類が書かれたcatchブロックの処理が実行される。finallyブロックは、例外の発生の有無に関わらず実行される。 例外の種類分けを行わない場合は、Exceptionでcatchする…