スポンサーサイト
--.--.--.-- Posted in スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SQLiteをiPhoneアプリに組み込む 【実装編】
Wed.03.10.2012 Posted in plugin
0 comments 0 trackbacks
前回からずいぶん時間が経ってしまったがSQLiteのObjective-Cでの実装サンプルを紹介。
前回の記事はこちら

まずはDB接続の為のパスを指定。
(Application_Home)/Documentsのhoge.dbという意味。

・パス指定

NSArray* paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES );
NSString* dir = [paths objectAtIndex:0];
FMDatabase* db = [FMDatabase databaseWithPath:[dir stringByAppendingPathComponent:@"hoge.db"]];


詳しく知りたい方はこちらのページがオススメ。
http://d.hatena.ne.jp/ntaku/20110104/1294146555

シミュレータでは以下にDBが作成される。あらかじめ作成したDBを格納する場所もここ。
/Users/<<ユーザー名>>/Library/Application Support/iPhone Simulator/<<ビルド時のiOSのバージョン>>/Applications/<<アプリのGUID>>/Documents

実機の場合、Supporting Filesの中に入れておけばOK!

ではいろいろなSQL文を書いてみます。上のパス指定+以下を記述します。
・CREATE文

NSString* sql = @"CREATE TABLE IF NOT EXISTS hoge (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT);";

[db open];
[db executeUpdate:sql];
[db close];


・INSERT文

NSString* sql = @"INSERT INTO hoge (name) VALUES (?)";

[db open];
[db executeUpdate:sql, @"名前"];
[db close];


・UPDATE文

NSString* sql = @"
UPDATE hoge SET name = ? WHERE id = ?";

[db open];
[db executeUpdate:sql, @"名前",10];
[db close];


・SELECT文

NSString* sql = @"SELECT id, name FROM hoge;";

[db open];
FMResultSet* results = [db executeQuery:sql];
NSMutableArray* hogeNameList = [NSMutableArray array];;

while( [results next] )
{
[hogeNameList addObject:[results stringForColumn:@"name"]];
}
[db close];


・DELETE文

NSString* sql = @"DELETE FROM hoge WHERE id = ?";

[db open];
[db executeUpdate:sql, [NSNumber numberWithInteger:14]];
[db close];

スポンサーサイト

Theme: プログラミング « コンピュータ

SQLiteをiPhoneアプリに組み込む 【準備編】
Wed.18.07.2012 Posted in plugin
0 comments 0 trackbacks
以前にSQLiteをMacで使用する方法を紹介しましたが、
今回はアプリに組み込んでみます。

1.まずはライブラリの取り込み

プロジェクトを選択して「Frameworks」を右クリックし「Add Files to ~」を押下。
以下にライブラリがあるのでアプリに取り込み
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/usr/lib/libsqlite3.0.dylib

2.次にFMDBの取り込み
リンクよりzipファイルをダウンロードします。
https://github.com/ccgus/fmdb/downloads

※FMDB:SQLite を iOS の Objective-C で使い易くするためのライブラリ。

FMDB_download.jpg


3.zipファイルを解凍して以下のファイルをプロジェクトフォルダにコピー
・FMDatabase.h
・FMDatabase.m
・FMDatabaseAdditions.h
・FMDatabaseAdditions.m
・FMDatabasePool.h
・FMDatabasePool.m
・FMDatabaseQueue.h
・FMDatabaseQueue.m
・FMResultSet.h
・FMResultSet.m

フォルダにコピーしただけではXcode上には表示されないので
プロジェクトにあるフォルダを右クリック「Add Files to ~」で
上記でコピーしたファイルを選択。

FMDB_Add.jpg


以上で準備完了、後は「FM~」を各クラスでインポートすればSQLiteが使用出来る。
次回は実際に使ってみます。

Theme: プログラミング « コンピュータ

MacでSSQLiteを使用する
Wed.18.07.2012 Posted in plugin
0 comments 0 trackbacks
SQLite:iPhoneアプリケーションに組み込める軽量DB。
Mac OS 10.7にはデフォルトで入っています。
今回はターミナルからのSQLiteの起動~テーブル作成、データベース作成・基本的は操作など。

ターミナルより以下を実行

・SQLiteバージョンの確認
$ sqlite3 -version

実行結果
3.7.7 2011-06-25

・SQLite3の起動
$ sqlite3 

実行結果
SQLite version 3.7.7 2011-06-25 16:35:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
Cannot read termcap database;
using dumb terminal settings.
sqlite> 
「.help」でヘルプコマンドがみれる。
SQLを入力する時は「;」セミコロンを入れてください。
みたいなことが書かれているようです。

データベースの作成とSQLite3の起動を同時に行う場合は
後ろに作成したいdb名を追加します。
拡張子は何でも良いです。今回は「.db」にしてみました。

$ sqlite3 hoge.db

実行結果
SQLite version 3.7.7 2011-06-25 16:35:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
Cannot read termcap database;
using dumb terminal settings.
sqlite> 

上記は格納場所をしていないので/Users/ユーザー名/に格納。
Macintosh HD→ユーザ→ユーザ名とフォルダを開いていくと
「hoge.db」が格納されているはず。
※データベース作成だけではファイルは作成されません。
テーブルを作成してはじめて「hoge.db」ファイルが作成されます。
格納先に同じファイル名でdbが作成されている場合は既に作成されたdb開きます。

格納先を指定する場合は以下
ユーザ名直下の「DB」フォルダに格納されます。
$ sqlite3 /Users/ユーザ名/DB/hoge.db


テーブル作成
sqlite> create table hoge(no integer, name varchar(20));

データの挿入
sqlite> insert into hoge values('1', 'user01');


データの更新
sqlite> update hoge set name = 'user02' where no = '1';


データの出力
sqlite> select * from hoge;


データの削除
sqlite> delete from hoge;


テーブルの削除
sqlite> drop table hoge;



・SQLite3を終了
.exitまたは.quitで終了。

データベースの削除
データベースの削除はSQLite3を終了してから
$rm hoge.db

またはFinder上で「hoge.bd」ファイルを削除

Theme: プログラミング « コンピュータ

topBack to TOP

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。