さて、どうやって使うんだろーとグーグル先生に尋ねてみると
GRDBでSQLiteデータベースを使う(Swift3.0) - Swiftサラリーマンにたどり着いた。このサイトではCocoaPodsを使っているみたいなんだが、ここでは手動でやってみようと思う。macOSを対象にやっていくが、iOSでも同じような感じだ。
ここからダウンロードして展開しておく。
Sqliteを使うプロジェクトを用意して、ダウンロードしたGRDBにあるGRDB.xcodeprojを追加する。メニューのFile - Add Files to "〜〜"で追加する。
Target DependenciesのBuild PhasesにmacOSならGRDBOSX、iOSならGRDBiOSを追加する。
Target DependenciesのBuild Phasesはプロジェクトを選んでBuild Phasesタブを選択するとそこにある。
+ ボタンを押してGRDBOSX(GRDBiOS)を追加する。
GeneralのEmbedded BinariesにGRDB.frameworkを追加する。
GeneralのEmbedded Binariesはプロジェクトを選んでGeneralタブを選択するとそこにある。
+ ボタンを押してGRDB.frameworkを追加する。
[Java] SQLiteを使う。と同じことをやってみる。
ソースの頭の方に
import GRDB
を追加する。
テーブル作ったり、データ追加したり、検索したりするのはこんな感じになる。
let dbFilename = NSTemporaryDirectory() + "test.db"
print(dbFilename)
do {
let dbQueue = try DatabaseQueue(path: dbFilename)
try dbQueue.inDatabase({db in
// テーブルを作る
var sql = "CREATE TABLE IF NOT EXISTS test(id INTEGER PRIMARY KEY, name TEXT)"
try db.execute(sql)
// データを登録
sql = "INSERT INTO test(id, name) VALUES(?, ?)"
for i in 0..<10 {
try db.execute(sql, arguments: [i+1, "hoge" + i.description])
}
// 検索する
sql = "SELECT * FROM test"
let rows = try Row.fetchCursor(db, sql)
while let row = try rows.next() {
let id:Int? = row.value(named: "id")
let name:String? = row.value(named: "name")
print("\(id!):\(name!)")
}
})
} catch {
}
コメント