sqlit的基本操作

前端之家收集整理的这篇文章主要介绍了sqlit的基本操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

sqlite操作

首先是创建sqliteOpenHelper的实现类;
需要重写onCreate()

@Override@H_301_8@
    public@H_301_8@ void@H_301_8@ onCreate@H_301_8@(sqliteDatabase db) {
        db.execsql(CREATE_BOOK);
        db.execsql(CREATE_CATEGORY);
        Toast.makeText(context,"数据库创建成功"@H_301_8@,Toast.LENGTH_LONG).show();


    }

和onUpgrade()

@Override@H_301_8@
    public@H_301_8@ void@H_301_8@ onUpgrade@H_301_8@(sqliteDatabase db,int@H_301_8@ oldVersion,int@H_301_8@ newVersion) {

        db.execsql("drop table if exists Book"@H_301_8@);
        db.execsql("drop table if exists Category"@H_301_8@);//增加的表@H_301_8@
        onCreate(db);
    }

两个方法;
onUpgrade()这个方法数据库更新的时候会自动调用

public static String CREATE_BOOK="create@H_301_8@ table@H_301_8@ Book ( id integer@H_301_8@ primary@H_301_8@ key@H_301_8@ autoincrement,auther text,price real@H_301_8@,pages integer@H_301_8@,name text )"; @H_301_8@@H_301_8@

上述代码是创建一个数据库中的 Book 表;
添加一个构造方法

public@H_301_8@ MyDataBaseHelper@H_301_8@(Context context,String name,CursorFactory factory,int@H_301_8@ version) {
        super@H_301_8@(context,name,factory,version);
        this@H_301_8@ .context=context;
        // TODO Auto-generated constructor stub@H_301_8@
    }

在MainActivity.class中创建sqliteOpenHelper的实现类;

myDataBaseHelper=new@H_301_8@ MyDataBaseHelper(this@H_301_8@,"BookStore.db"@H_301_8@,null@H_301_8@,3@H_301_8@);

参数1代表的是上下文对象
参数2代表的是要创建的数据表的名字
参数3代表的是CursorFactory 一般都写为null
参数4代表的是数据的版本;

增:

sqliteOpenHelper的实现类调用getWritableDatabase()方法得到一个sqliteDataBase对象;

sqliteDatabase db@H_301_8@=myDataBaseHelper.getWritableDatabase();@H_301_8@

用db调用insert()方法

ContentValues values@H_301_8@=new ContentValues();
            values@H_301_8@.put("name"@H_301_8@,"安卓基础"@H_301_8@);
            values@H_301_8@.put("auther"@H_301_8@,"老罗"@H_301_8@);
            values@H_301_8@.put("price"@H_301_8@,57@H_301_8@);
            values@H_301_8@.put("pages"@H_301_8@,670@H_301_8@);
            db.insert("Book"@H_301_8@,null,values@H_301_8@);
db.insert("Book"@H_301_8@,values@H_301_8@);


用db调用delete()方法

db.delete@H_301_8@("Book"@H_301_8@,null@H_301_8@,null@H_301_8@);//全部删除了Book表中的数据@H_301_8@


把作者为老罗的书的价格改成了70;

ContentValues values2=new@H_301_8@ ContentValues();
            values2.put("price"@H_301_8@,70@H_301_8@);
            db.update("Book"@H_301_8@,values2,"auther=?"@H_301_8@,new@H_301_8@ String@H_301_8@[]{"老罗"@H_301_8@});

private List<Book> books=new ArrayList<Book>();@H_301_8@

...


Cursor cursor=db.query@H_301_8@("Book"@H_301_8@,null);@H_301_8@
            if (cursor.moveToFirst@H_301_8@()) {
                books.clear@H_301_8@();@H_301_8@
                do {
                    Book book=new Book();@H_301_8@
                    String name=cursor.getString@H_301_8@(cursor.getColumnIndex@H_301_8@("name"@H_301_8@));@H_301_8@
                    book.setName@H_301_8@(name);@H_301_8@

                    String auther=cursor.getString@H_301_8@(cursor.getColumnIndex@H_301_8@("auther"@H_301_8@));@H_301_8@
                    book.setAuther@H_301_8@(auther);@H_301_8@
                    double price=cursor.getDouble@H_301_8@(cursor.getColumnIndex@H_301_8@("price"@H_301_8@));@H_301_8@
                    book.setPrice@H_301_8@(price);@H_301_8@
                    int pages=cursor.getInt@H_301_8@(cursor.getColumnIndex@H_301_8@("pages"@H_301_8@));@H_301_8@
                    book.setPages@H_301_8@(pages);@H_301_8@
                    books.add@H_301_8@(book);@H_301_8@

                } while (cursor.moveToNext@H_301_8@()) ;@H_301_8@

            }

把Book表中的数据全部读出来;并添加到了一个list集合中;
写了一个Book实体类

public@H_301_8@ class@H_301_8@ Book {
    private@H_301_8@ String name;
    private@H_301_8@ String auther;
    private@H_301_8@ int@H_301_8@ pages;
    private@H_301_8@ double@H_301_8@ price;
    public@H_301_8@ String getName@H_301_8@() {
        return@H_301_8@ name;
    }
    public@H_301_8@ void@H_301_8@ setName@H_301_8@(String name) {
        this@H_301_8@.name = name;
    }
    public@H_301_8@ String getAuther@H_301_8@() {
        return@H_301_8@ auther;
    }
    public@H_301_8@ void@H_301_8@ setAuther@H_301_8@(String auther) {
        this@H_301_8@.auther = auther;
    }
    public@H_301_8@ int@H_301_8@ getPages@H_301_8@() {
        return@H_301_8@ pages;
    }
    public@H_301_8@ void@H_301_8@ setPages@H_301_8@(int@H_301_8@ pages) {
        this@H_301_8@.pages = pages;
    }
    public@H_301_8@ double@H_301_8@ getPrice@H_301_8@() {
        return@H_301_8@ price;
    }
    public@H_301_8@ void@H_301_8@ setPrice@H_301_8@(double@H_301_8@ price) {
        this@H_301_8@.price = price;
    }
    @Override
    public@H_301_8@ String toString@H_301_8@() {
        return@H_301_8@ "Book [name="@H_301_8@ + name + ",auther="@H_301_8@ + auther + ",pages="@H_301_8@ + pages
                + ",price="@H_301_8@ + price + "]"@H_301_8@;
    }

}

猜你在找的Sqlite相关文章