首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Android课程之SQlit数据库操作

2012-08-24 
Android教程之SQlit数据库操作我是我关于android.database.sqlite.? ?? ???+ text not null, + type

Android教程之SQlit数据库操作

我是我关于



android.database.sqlite.? ?? ???+ " text not null, " + "type" + " text not null, " + "desc"
? ?? ???+ " text" + ");");
? ?? ???db.execSQL("CREATE TABLE " + TABLE_NAME_2 + " (" + "order_no"
? ?? ???+ " text not null, " + "item_no" + " text not null, "
? ?? ???+ "QTY" + " text" + ");");
? ?? ???}

? ?? ???@Override
? ?? ???public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
? ?? ???}
? ?? ???}




? ?1.首先得新建数据库的代理类,通过这个类得到具体数据库的代理类。
mOpenHelper = new DatabaseHelper(this);
这个DatabaseHelper是继承SQLiteOpenHelper
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
2.由于操作的是SQLiteDatabase数据,故得到一个SQLiteDatabase类,这个类里边的方法可以对数据库进行具体的操作。

建立数据库:
mOpenHelper = new DatabaseHelper(v.getContext());
? ?? ???SQLiteDatabase db = mOpenHelper.getWritableDatabase();
? ?? ???String sql = "create table Student(" + "stud_no text not null, "
? ?? ???+ "stud_name text );";
? ?? ???try {
? ?? ???db.execSQL(sql);
? ?? ???setTitle("create table ok!");
? ?? ???} catch (SQLException e) {
? ?? ???Log.e("ERROR", e.toString());
? ?? ???setTitle("create table Error!");
? ?? ???}

drop数据库:

? ?? ???mOpenHelper = new DatabaseHelper(v.getContext());
? ?? ???SQLiteDatabase db = mOpenHelper.getWritableDatabase();
? ?? ???String sql = "drop table Student";
? ?? ???try {
? ?? ???db.execSQL(sql);
? ?? ???setTitle("drop table ok!");
? ?? ???} catch (SQLException e) {
? ?? ???Log.e("ERROR", e.toString());
? ?? ???setTitle("drop table Error!");
? ?? ???}

插入语句:
? ? 采用sql语句进行插入:

? ?? ???mOpenHelper = new DatabaseHelper(v.getContext());
? ?? ???SQLiteDatabase db = mOpenHelper.getWritableDatabase();
? ?? ???String sql_1 = "insert into Student (stud_no, stud_name) values('S108', 'Lily Chen');";
? ?? ???String sql_2 = "insert into Student (stud_no, stud_name) values('S201', 'Tom Kao');";
? ?? ???String sql_3 = "insert into Student (stud_no, stud_name) values('S333', 'Peter Rabbit');";
? ?? ???try {
? ?? ???db.execSQL(sql_1);
? ?? ???db.execSQL(sql_2);
? ?? ???db.execSQL(sql_3);
? ?? ???setTitle("insert records ok!");
? ?? ???} catch (SQLException e) {
? ?? ???Log.e("ERROR", e.toString());
? ?? ???}
采用第二种方便的方法进行插入:(采用contentValues的方法)
mOpenHelper = new DatabaseHelper(v.getContext());
? ?? ???SQLiteDatabase db = mOpenHelper.getWritableDatabase();
? ?? ???ContentValues cv = new ContentValues();
? ?? ???cv.put("stud_no", "S108");
? ?? ???cv.put("stud_name", "Lily Chen");
? ?? ???db.insert("Student", null, cv);
? ?? ???cv = new ContentValues();
? ?? ???cv.put("stud_no", "S201");
? ?? ???cv.put("stud_name", "Tom Kao");
? ?? ???db.insert("Student", null, cv);
? ?? ???cv = new ContentValues();
? ?? ???cv.put("stud_no", "S333");
? ?? ???cv.put("stud_name", "Android课程之SQlit数据库操作eter Rabbit");
? ?? ???db.insert("Student", null, cv);
? ?? ???setTitle("insert record ok!");


查询语句:

? ?? ???mOpenHelper = new DatabaseHelper(v.getContext());
? ?? ???SQLiteDatabase db = mOpenHelper.getReadableDatabase();
? ?? ???String col[] = { "stud_no", "stud_name" };
? ?? ???cur = db.query("Student", col, null, null, null, null, null);
? ?? ???Integer n = cur.getCount();
? ?? ???String ss = Integer.toString(n);
? ?? ???setTitle(ss + " records");
? ?? ???cur.moveToFirst();
public Cursor query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy)

selection:??A filter declaring which rows to return, formatted as an SQL WHERE clause (excluding the WHERE itself). Passing null will return all rows for the given table.selectionArgs:You may include ?s in selection, which will be replaced by the values from selectionArgs, in order that they appear in the selection. The values will be bound as Strings.



如何不断循环的取出下一条打印出来:

    ? ?? ???data[k++] = ss;
    ? ?? ???cur.moveToNext();
    ? ?? ???}

      ? ?? ???Cursor cur = db.query("MyOrder", col, cond, null, null, null, null);
      ? ?? ???//SELECT order_no, type FROM MyOrder WHERE type='NEW'
      ? ?? ???Integer n = cur.getCount();
      ? ?? ???String[] data = new String[n];
      ? ?? ???cur.moveToFirst();
      ? ?? ???int k = 0;
      ? ?? ???while (!cur.isAfterLast()) {
      ? ?? ???String ss = cur.getString(0) + ", " + cur.getString(1);
      ? ?? ???data[k++] = ss;
      ? ?? ???cur.moveToNext();
      ? ?? ???}
      ? ?? ???return data;
      ? ?? ???}


      更新:


      //更新条列
      ? ?? ???SQLiteDatabase db = mOpenHelper.getWritableDatabase();
      ? ?? ???ContentValues cv = new ContentValues();
      ? ?? ???cv.put("stud_no", "S288");
      ? ?? ???cv.put("stud_name", "Linda Wang");
      ? ?? ???db.update("Student", cv, "stud_no = 'S201'", null);



      删除:
      ? ?? ???//删除条列
      ? ?? ???mOpenHelper = new DatabaseHelper(v.getContext());
      ? ?? ???SQLiteDatabase db = mOpenHelper.getWritableDatabase();
      ? ?? ???db.delete("Student", "stud_no = 'S108'", null);

      ?

      http://www.eoeandroid.com/thread-51-1-1.html

      ?

      ?

热点排行