SQLite使用小例

来源:互联网 发布:免费胸卡制作软件 编辑:程序博客网 时间:2024/06/07 01:28
package com.peidw.demo;import java.io.FileNotFoundException;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.util.Log;/** * 数据库操作 * @author peidw 2009-04-06 * */public class DatabaseHelper extends SQLiteOpenHelper{    private Context ctx = null;        public DatabaseHelper(Context context, String name, CursorFactory factory, int version) {        super(context, name, factory, version);    }        @Override    public void onCreate(SQLiteDatabase arg0) {            }    @Override    public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {            }    }package com.peidw.demo;import java.util.*;import android.app.*;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.os.*;import android.util.*;/** * 操作数据库例子 * @author peidw 2009-04-19 * */public class ConnectionProvider {        private static  SQLiteDatabase db=null;            public  ConnectionProvider(Context ctx) {        if (db==null){            Log.v("ConnectionProvider","ctx="+ctx.toString());            DatabaseHelper dbHelper=new DatabaseHelper(ctx,"StudDB", null,1);            db= dbHelper.getWritableDatabase();        }    }        public SQLiteDatabase getConnection (){        return db;    }        public void closeConnection (){        db.close();    }    /**     * 判断表是否存在     * @param tablename     * @return     */    public boolean isTableExits(String tablename){        boolean result=false;//表示不存在        String str="select count(*) xcount  from sqlite_master where table='"+tablename+"'";        Cursor c = db.rawQuery(str,null);        int xcount=c.getColumnIndex("xcount");        if(xcount!=0){            result=true; //表存在        }        return result;    }}在程序中操作数所的代码片段 ConnectionProvider cp=new ConnectionProvider(this.getBaseContext());        // if(cp.isTableExits(TABLE_NAME)){//表已存在             createTable(cp);            queryTable(cp);        // }else{//表不存在        //     createTable();        // }public void createTable( ConnectionProvider cp){                SQLiteDatabase db= cp.getConnection();        db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " ("                + "stud_no" + " TEXT,"                + "stud_name" + " TEXT"                + ");");            String sql_1 = "insert into "+ TABLE_NAME +" (stud_no, stud_name) values('S777', 'Lily Chang');";        String sql_2 = "insert into " + TABLE_NAME +" (stud_no, stud_name) values('S888', 'Linda Lin');";        String sql_3 = "insert into " + TABLE_NAME +" (stud_no, stud_name) values('S999', 'Bruce Wang');";        db.execSQL(sql_1); db.execSQL(sql_2); db.execSQL(sql_3);    }    public void queryTable(ConnectionProvider cp){        String str="select * from "+TABLE_NAME;        Cursor c =cp.getConnection().rawQuery(str,null);        Log.v("loginactive","查询记录");        Log.v("loginactive",String.valueOf(c.getCount()) );        if(c!=null){            c.moveToFirst();            while(!c.isLast()){                Log.v("loginactive","outp.");                String stud_no=c.getString(0);                String stud_name=c.getString(1);                System.out.println(stud_no+"---------------"+stud_name);                Log.v("loginactive",stud_no+"---------------"+stud_name);                c.moveToNext();            }        }    }


 

原创粉丝点击