SQLite -> テーブル操作
SQLite -> 接続 から処理部分を抜粋して。
ID カラムのお約束 を参考に。
[android]//データベースオブジェクト の生成
DBHelper dbHelper = new DBHelper(this);
db = dbHelper.getWritableDatabase();
//テーブル の生成
db.execSQL(
“create table if not exists ”
+ DB_TABLE
+ “(”
+ “_id INTEGER PRIMARY KEY AUTOINCREMENT,”
+ “name TEXT”
+ “)”
);
//*** 処理 ***
//データベースオブジェクト の開放
db.close();[/android]
Cursor | query (boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
Android Developers:SQLiteDatabase query
Android Developers:Cursor
ん~、サンプルとリファレンスで引数の数が合わない・・ 🙄
ひとまずサンプルに合わせてメモ。
戻り値:Cursor オブジェクト
第1引数:不明
第2引数:テーブル名
第3引数:対象フィールド名配列。指定しない場合は null
第4引数:WHERE句。指定しない場合は null
第5引数:不明
第6引数:不明
第7引数:不明
第8引数:ソート順。指定しない場合は null
第9引数:抽出数。指定しない場合は null
Cursor | rawQuery (String sql, String[] selectionArgs)
Android Developers:SQLiteDatabase rawQuery
ContentValues values = new ContentValues();
values.put(“name”, name);
db.insert(DB_TABLE, null, values);[/android]
long | insert(String table, String nullColumnHack, ContentValues values)
Android Developers:SQLiteDatabase insert
戻り値:挿入したレコードの _id 。エラー時は -1 。
第1引数:テーブル名
第2引数:不明
第3引数:書き込み用データオブジェクト
Android Developers:ContentValues
ContentValues values = new ContentValues();
values.put(“_id”, id);
values.put(“name”, name);
//ここで利用している変数 id は int(整数型)なので、
//WHERE 句用データ(第4引数)は、SQL 用に String(文字列型)へ変換する必要がある
db.update(DB_TABLE, values, “_id = ?”, new String[]{String.valueOf(id)});[/android]
int | update (String table, ContentValues values, String whereClause, String[] whereArgs)
Android Developers:SQLiteDatabase update
戻り値:更新された行数
第1引数:テーブル名
第2引数:書き込み用データオブジェクト
第3引数:WHERE 句(プリコンパイルタイプ。プレースフォルダを利用)
第4引数:WHERE 句用データ
Android Developers:ContentValues