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", "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)
如何不断循环的取出下一条打印出来:
?
http://www.eoeandroid.com/thread-51-1-1.html
?
?