SQLite -> テーブル操作

Posted by muchag | Android |
初回投稿:2011-03-30 (水) 15:29:47 | 最終更新:2011-04-02 (土) 0:46:38

作成

SQLite -> 接続 から処理部分を抜粋して。
ID カラムのお約束 を参考に。

  1. //データベースオブジェクト の生成
  2. DBHelper dbHelper = new DBHelper(this);
  3. db = dbHelper.getWritableDatabase();
  4.  
  5. //テーブル の生成
  6. db.execSQL(
  7.         "create table if not exists "
  8.             + DB_TABLE
  9.                 + "("
  10.                 + "_id INTEGER PRIMARY KEY AUTOINCREMENT,"
  11.                 + "name TEXT"
  12.                 + ")"
  13.             );
  14.  
  15. //*** 処理 ***
  16.  
  17. //データベースオブジェクト の開放
  18. db.close();

 

取得
query
  1. Cursor cursor = db.query(DB_TABLE, new String[]{"_id", "name"}, "_id=0", null, null, null, null);

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
 

rawQuery

Cursor | rawQuery (String sql, String[] selectionArgs)

Android Developers:SQLiteDatabase rawQuery

 

追加
insert
  1. //書き込み用データオブジェクトの生成
  2. ContentValues values = new ContentValues();
  3. values.put("name", name);
  4.  
  5. db.insert(DB_TABLE, null, values);

long | insert(String table, String nullColumnHack, ContentValues values)

Android Developers:SQLiteDatabase insert

戻り値:挿入したレコードの _id 。エラー時は -1 。
第1引数:テーブル名
第2引数:不明
第3引数:書き込み用データオブジェクト
Android Developers:ContentValues
 

更新
update
  1. //書き込み用データオブジェクトの生成
  2. ContentValues values = new ContentValues();
  3. values.put("_id", id);
  4. values.put("name", name);
  5.  
  6. //ここで利用している変数 id は int(整数型)なので、
  7. //WHERE 句用データ(第4引数)は、SQL 用に String(文字列型)へ変換する必要がある
  8. db.update(DB_TABLE, values, "_id = ?", new String[]{String.valueOf(id)});

int | update (String table, ContentValues values, String whereClause, String[] whereArgs)

Android Developers:SQLiteDatabase update

戻り値:更新された行数
第1引数:テーブル名
第2引数:書き込み用データオブジェクト
第3引数:WHERE 句(プリコンパイルタイプ。プレースフォルダを利用)
第4引数:WHERE 句用データ

Android Developers:ContentValues

Posted by muchag | Android |
初回投稿:2011-03-30 (水) 15:29:47 | 最終更新:2011-04-02 (土) 0:46:38

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment