AIRでのSQLite

[`evernote` not found]
LINEで送る
Pocket

apolloからAIRになり、SQLiteが使えるようになったみたい。

なので早速使ってみた。

基本的に、
接続: flash.data.SQLConnectionクラス
クエリ: flash.data.SQLStatementクラス

で行うみたいだが、SQLiteのファイルを指定するときに、
flash.filesystem.Fileクラスが必要。

さらに、各種イベント系。
flash.events.SQLEvent?

とたくさんあるが、僕はこうしました。

import flash.filesystem.File;
import flash.data.*;
import flash.filesystem.*;
import flash.events.SQLErrorEvent;
import flash.events.SQLEvent;
import flash.events.SQLUpdateEvent;

多い!

大まかに流れを書くと、こんな感じです。

SQLConnectionのオブジェクトを生成。
SQLStatementのオブジェクトを生成。

SQLConnection.open( new File(“DBファイルのURL”)で接続開始。

接続後の処理は
SQLStatement.sqlConnection = SQLConnection
として接続情報を実際に処理を担当するSQLStatementへ渡す。

接続完了のイベント発行後、
SQLConnection.addEventListener(“open”, openHandler); //openHandler=接続後に行いたい処理

実際の処理を行う。
openHandler(e:Event):voidないで
SQLStatement.text = “実際に実行するクエリ”;
SQLStatement.execute(); //ここで実行。

selectなどを利用してて、結果が欲しい時は、クエリ実行後に、結果が
SQLStatement.addEventListener(“result”, resultHandler);
で取得できるので、
resultHandler内で、
SQLStatement.getResult()により結果を取得する。

といった流れです。

実際のスクリプトとしては、こんな感じで記述しました。
//DBの接続担当のオブジェクト作成
private var sqlConn:SQLConnection = new SQLConnection();
//SQLのクエリなど実際の処理担当のオブジェクト作成
private var sqlStatement:SQLStatement = new SQLStatement();

private var pathPrefix:String = “/air”;
//SQLiteはファイルベースのDBなので、その場所を指定。※URL形式!!
private var dbFile:File = new File(pathPrefix + “/data.db”);

if(sqlConn.connected == false){
sqlConn.open( dbFile , true,false,-1);
}

//DB接続がOKの場合に発生するイベント
sqlConn.addEventListener(“open”, sqlOpenHandler);
//エラーの時に発生するイベント
sqlConn.addEventListener(“error”, sqlErrorHandler);

//DBとの接続をSQLStatement(処理担当)へ渡す。
sqlStatement.sqlConnection = sqlConn;

//接続が無事完了してからの処理
private function sqlOpenHandler(e:SQLEvent):void{

var query:String = “”; //select , insert , create table , deleteなどのクエリ

//クエリをSQLStatementオブジェクトへ入れる。
sqlStatement.text = query;

//クエリの実行。
sqlStatement.execute();

//実行結果を取得したい場合は、イベント”result”を取得する。
sqlStatement.addEventListener(“result” , resultHandler);
}

//クエリ実行結果の取得
private function resultHandler(e:Event):void{
sqlStatement.getResult();

}

これで結果を取得できます。

備考:
これは僕がおためし程度に書いたスクリプトですので、間違いなどあればご指摘いただければと思います。

後、具体的なコードも細かい部分で省略してるところはあります。

2007年7月4日01:36

Basic認証

[`evernote` not found]
LINEで送る
Pocket

現在ローカル開発用の環境を用意してるのですが、そこが複数名で利用しているLANにあるので、Basic認証をつける。

ここでちょっと引っかかった。

.htaccessを作り、
AuthType Basic
AuthUserFile /var/.htpasswd
AuthGroupFile /dev/null
AuthName

2007年7月3日03:25

URLVariablesではまった

[`evernote` not found]
LINEで送る
Pocket

AS3でのURLVariable関連でつまづいたのでメモ。

AS3でサーバーと通信する時は、
送信するオブジェクト= URLLoader();
送信先URLや送信方法などの設定=URLRequest();
送信するデータ=URLVariables();

を使います。よね??

今回は、送信だけのことを書きます。

で、URLVariablesに次々と送信したいデータをつめこむ。
// 送信したいデータのセットアップ
var urlvariables:URLVariables = new URLVariables();

urlvariables.data1 = variable1;
urlvariables.data2 = variable2;
.
.
.

//送信先URL、送信
var urlrequest:URLRequest = new URLRequest();
urlrequest.url =

 

2007年7月2日22:06

Mac OS X でのJava

[`evernote` not found]
LINEで送る
Pocket

2007年6月27日21:56より

ActionScript3.0が大変Javaに似ている、そういう話しを聞いていたので、ちょっとだけjavaを触ってみることにしました。

で、MacではどこにJavaのファイルあるの?と思っていると、こんな記事。

http://developer.apple.com/jp/qa/qa2001/qa1170.html

『Mac OS X ではこれに相当するものは、常に /Library/Java/Home 』

メモですよ。