SQLJetを使う! 列名取得編

今回は作成したテーブルから列(カラム)名を取得します。

テーブル内容を表示させる事にも関わってきます。

	public String[] getColumnNames(String tableName) throws SqlJetException{

		// 列名格納配列
		String[] columnNames = null;

		// 読み込みモード
		db.beginTransaction(SqlJetTransactionMode.READ_ONLY);

		// テーブルを開く
		ISqlJetTable table = db.getTable(tableName);

		// テーブルを明確化(?)
		ISqlJetTableDef tabledef = table.getDefinition();

		// 列名を取得
		List<ISqlJetColumnDef> columnList = tabledef.getColumns();

		// 列名格納配列を初期化
		columnNames = new String[columnList.size()];

		// 格納
		for(int i = 0; i < columnNames.length; i++){
			columnNames[i] = columnList.get(i).getName();
		}

		db.commit();

		return columnNames;
	}

自分でもあまりわかっていないことが多いので、ご存知の方はコメントしていただけるとありがたいです。

続きを読む

Firefoxで「nsExtensionManager.js:623」

今日Firefoxを起動したらペルソナアドオンの更新があり、最新に更新したところ一部アドオンが正常に動作しなくなり、ツールメニューのアドオンをクリックすると「警告:応答しないスクリプト nsExtensionManager.js:623」とダイアログボックスが表示され、「スクリプトを停止」を何回押しても再度出現するようになってしまいました。

そこで解決策を探っていたら海外のフォーラムに同じ内容の質問があり、解決策が書いてあったのでここにも書いておきます

  1. Firefoxをセーフモードで起動する
  2. アドオンからペルソナを削除する

以上で正常に起動できるようになりました。

どうやらFirefox自体にペルソナの機能が備わっており、ペルソナのアドオンを別途インストールしてあると今回のアドオンアップデートで異常が起きるようです。

大きな画像をA4用紙に分割印刷する方法

個人的メモとして書いておきます

  1. 画像をMicrosoftペイントで開く
  2. ファイルメニュー→ページ設定
  3. 中央揃えチェックボックスを外す
  4. 拡大縮小の適合を選択
  5. 縦横のページ数を入力

以上でユーザー設定の用紙サイズに指定できる大きさ以上の画像ファイルをA4用紙に印刷できる。

SQLJetを使う! テーブル一覧編

今回はデータベースファイルに入っているテーブル名を一覧表示させます。

コードは以下の通り

		// ファイル名
		String DB_name = "C:\\sample.sqlite";

		// ファイル生成
		File dbFile = new File(DB_name);

		try{
			// DBオブジェクト生成
			SqlJetDb db = SqlJetDb.open(dbFile, true);

	        // 書き込みモード
	        db.beginTransaction(SqlJetTransactionMode.READ_ONLY);
	        try{
	        	// スキーマ取得
	        	ISqlJetSchema schema = db.getSchema();

	        	// テーブル一覧取得
	        	Set<String> table_list = schema.getTableNames();

	        	// 一覧表示
	        	for(String tableName : table_list){
	        		System.out.println(tableName);
	        	}

	        }finally{
	        	db.commit();
	        }

		}catch(SqlJetException e){
			e.printStackTrace();
		}

データベースからスキーマを取得して、スキーマからテーブル一覧を取得します。

その際Setで一覧が帰ってくるので拡張for文で簡潔に表示させてみました。

載せるコードを短くしてみましたがどうでしょう?メソッドとしてそのままコピーできるような形にした方がいいですかね?

いや、そもそも需要自体あるかどうか厳しいところだな…。

WD20EARSをXP搭載機へ接続

Western Digitalの500GBがOSを起動させるたびにチェックディスクするようになってしまったので急遽新しいものを買ってきていろいろと移し替えました。

保証書付

保証書付

これは大須のツクモで「他店対抗価格!¥8,780」で販売していました。WD20EARSです。

シネックスの10か月保証付きでした。あ、RMAは確認してないな…。携帯ではなくコンデジで撮っておけばよかった。

HDD外観

HDD外観

まぁ、そんなことは後でどうとでもなります。このHDDは容量が2TBもあり、新技術搭載とかでXP以前のOSに接続する場合にはWD Alignという専用のソフトを走らせないと性能を発揮できないらしいです。

HDD裏面

HDD裏面

WD Alignを行うソフトウェアは2種類ありますが、今回は早く処理できるといわれている「WD Align CD – Powered by Acronis」を利用します

Acronisの方はISO形式で配布されるので、そのままCDに焼いて起動させるとGUIで操作できます。

続きを読む

Javaでファイル名と拡張子を分ける

PictSplitの副産物でファイル名と拡張子を分けるコードです。

特殊技術を使っているわけではないので自分の覚書としても書いておきます。

public class FileNameSplit {
	public static void main(String[] args){

		// 分割するファイル名
		String filename = "sample.txt";
		// ファイル名格納変数
		String name = "";
		// 拡張子格納変数
		String ext;

		// ファイル名分割
		String[] filename_ar = filename.split("\\.");

		// ファイル名格納
		int i;
		for(i = 0; i < filename_ar.length - 1; i++){
			name += filename_ar[i];
		}
		// 拡張子格納
		ext = filename_ar[i];

		// 出力
		System.out.println("ファイル名:" + name);
		System.out.println("拡張子:" + ext);
	}
}

出力は「ファイル名:sample 拡張子:txt」となります。以下解説。

続きを読む

Logitech MX510マウスを修理するはずが…?

私が今使っているマウスはLogitechのMX510です。すでに販売終了していますが、後継機は出ています。

このマウスは8ボタンなんですが、昨日突然1つのボタンが動作しなくなったので「これは修理すべき!」と分解してみました。

ちなみに日本ではすでに「Logitech」という会社が存在していたため「Logicool」として展開しています。

続きを読む

PictSplit 2.4 公開!

今回は更新推奨

PictSplit2.4(zipファイル)

更新内容は

  1. 画像の名前に「.」が含まれていた際、メタファイルが移動されない不具合を修正

単純に「.」で名前と拡張子を分ける処理にしていたのでこの不具合が発生しました。

PictSplit2.3 公開!

今回は内部処理の変更です。特に必要のない方は更新しなくていいかも。

PictSplit2.3

更新はjarファイルだけを上書きしてください。

更新内容は

  1. 登録したタグすべてにコピーされる
  2. メタファイルが存在する場合一緒にコピーされる

1ですが、以前実装を考えていて結局辞めた経緯があり、今回コメントで要望があったので実装しました。

続きを読む

SQLJetを使う!データ追加編

テーブルを作成できたら次はデータを追加していきます。

テーブルにデータを追加するのは簡単です。

続きを読む

次のページ →