首先是创建sqliteOpenHelper的实现类;
需要重写onCreate()
@OverrIDe public voID onCreate(sqliteDatabase db) { db.execsql(CREATE_BOOK); db.execsql(CREATE_category); Toast.makeText(context,"数据库创建成功",Toast.LENGTH_LONG).show(); }
和onUpgrade()
@OverrIDe public voID onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) { db.execsql("drop table if exists Book"); db.execsql("drop table if exists category");//增加的表 onCreate(db); }
两个方法;
onUpgrade()这个方法在数据库更新的时候会自动调用;
public static String CREATE_BOOK="create table Book ( ID integer primary key autoincrement,auther text,price real,pages integer,name text )";
上述代码是创建一个数据库中的 Book 表;
添加一个构造方法:
public MyDataBaseHelper(Context context,String name,CursorFactory factory,int version) { super(context,name,factory,version); this .context=context; // Todo auto-generated constructor stub }
在MainActivity.class中创建sqliteOpenHelper的实现类;
myDataBaseHelper=new MyDataBaseHelper(this,"BookStore.db",null,3);
参数1代表的是上下文对象
参数2代表的是要创建的数据表的名字
参数3代表的是CursorFactory 一般都写为null
参数4代表的是数据的版本;
增:
sqliteOpenHelper的实现类调用getWritableDatabase()方法得到一个sqliteDataBase对象;
sqliteDatabase db=myDataBaseHelper.getWritableDatabase();
用db调用insert()方法;
ContentValues values=new ContentValues(); values.put("name","安卓基础"); values.put("auther","老罗"); values.put("price",57); values.put("pages",670); db.insert("Book",null,values);db.insert("Book",values);
删
用db调用delete()方法;
db.delete("Book",null,null);//全部删除了Book表中的数据
改
把作者为老罗的书的价格改成了70;
ContentValues values2=new ContentValues(); values2.put("price",70); db.update("Book",values2,"auther=?",new String[]{"老罗"});
查
private List<Book> books=new ArrayList<Book>();...Cursor cursor=db.query("Book",null); if (cursor.movetoFirst()) { books.clear(); do { Book book=new Book(); String name=cursor.getString(cursor.getColumnIndex("name")); book.setname(name); String auther=cursor.getString(cursor.getColumnIndex("auther")); book.setAuther(auther); double price=cursor.getDouble(cursor.getColumnIndex("price")); book.setPrice(price); int pages=cursor.getInt(cursor.getColumnIndex("pages")); book.setPages(pages); books.add(book); } while (cursor.movetoNext()) ; }
把Book表中的数据全部读出来;并添加到了一个List集合中;
写了一个Book实体类
public class Book { private String name; private String auther; private int pages; private double price; public String getname() { return name; } public voID setname(String name) { this.name = name; } public String getAuther() { return auther; } public voID setAuther(String auther) { this.auther = auther; } public int getPages() { return pages; } public voID setPages(int pages) { this.pages = pages; } public double getPrice() { return price; } public voID setPrice(double price) { this.price = price; } @OverrIDe public String toString() { return "Book [name=" + name + ",auther=" + auther + ",pages=" + pages + ",price=" + price + "]"; }}总结
以上是内存溢出为你收集整理的sqlit的基本 *** 作全部内容,希望文章能够帮你解决sqlit的基本 *** 作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)