Android SQLite基本操作
2013-01-07 18:08
549 查看
在我的上一篇博客《andorid SQLite简介》中对SQLite的作用、特点等做了一个简单的介绍,这篇博客向大家介绍一下它的基本操作。
SQLiteDatabase类也专门提供了一些函数来操作数据库,有 insert,delete,update,query(),不过这些函数需要的参数比较多,适合对SQL语句不太懂的新手使用,如果想提高自己的水平,那么最好使用exeSQL(),rawQuery()。因为这两个方法比较直观明了、比较省事。
在程序初始化时候,必须先建立数据库以对数据库进行更新,所以这里需要继承一个 SQLiteOpenHelper抽象类,这里有两个方法 onCreate(),onUpgreade()两个方法,前者用来创建数据库及对数据库的一些初始化操作,后者是当数据库版本进行更新时候用。
下面的例子是创建了一个数据库名为:MyDB,版本为1的数据库,并在数据库中创建了一个User表。这里利用了构造函数传入了 数据库名和版本名常量,参数为Context 对象。
SQLiteDatabase类也专门提供了一些函数来操作数据库,有 insert,delete,update,query(),不过这些函数需要的参数比较多,适合对SQL语句不太懂的新手使用,如果想提高自己的水平,那么最好使用exeSQL(),rawQuery()。因为这两个方法比较直观明了、比较省事。
在程序初始化时候,必须先建立数据库以对数据库进行更新,所以这里需要继承一个 SQLiteOpenHelper抽象类,这里有两个方法 onCreate(),onUpgreade()两个方法,前者用来创建数据库及对数据库的一些初始化操作,后者是当数据库版本进行更新时候用。
下面的例子是创建了一个数据库名为:MyDB,版本为1的数据库,并在数据库中创建了一个User表。这里利用了构造函数传入了 数据库名和版本名常量,参数为Context 对象。
public class DatebaseHelper extends SQLiteOpenHelper { public final static String NAME="MyDB"; public final static int VERSION=1; public DatebaseHelper(Context context) { super(context, NAME, null, VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE User (userID integer primary key autoincrement, userName varchar(20), pwd varchar(12))"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS User"); onCreate(db); } } 用SQLiteDatabase来操作SQLite数据库。 public class DatebaseService { private DatebaseHelper dbHelper; public DatebaseService(Context context) { this.dbHelper = new DatebaseHelper(context); } //保存数据。 public void save(User user){ SQLiteDatabase db=dbHelper.getWritableDatabase(); db.execSQL("insert into user(userName,pwd) values(?,?)", new Object[]{user.getName(),user.getpwd()}); } //更新数据 public void update(User user){ SQLiteDatabase db=dbHelper.getReadableDatabase(); db.execSQL("update user set userName=?,pwd=? where userID=?", new Object[]{user.getuserName(),user.getpwd(),user.getuserID()}); } //查找数据 public User find(Integer userID){ SQLiteDatabase db=dbHelper.getReadableDatabase(); Cursor cursor=db.rawQuery("select * from User where userID=?",new String[]{userID.toString()} ); while(cursor.moveToNext()){ String name=cursor.getString(cursor.getColumnIndex("userName")); int pwd=cursor.getInt(cursor.getColumnIndex("pwd")); int id=cursor.getInt(cursor.getColumnIndex("userID")); return new User(id,name,pwd); } return null; } //删除数据 public void delete(Integer userID){ SQLiteDatabase db=dbHelper.getReadableDatabase(); db.execSQL("delete from User where userID=?",new Object[]{userID}); } public Long getCount(){ SQLiteDatabase db=dbHelper.getReadableDatabase(); Cursor cursor = db.rawQuery("select count(*) from User", null); cursor.moveToFirst(); return cursor.getLong(0); }当然SQLite的操作还不止这一点,这里只是一些简单的增删改查,还有很多更好的操作应用,将在以后介绍。
相关文章推荐
- android SQLite数据库基本操作示例
- Android 操作SQLite基本用法
- 学习笔记:Android SQLite,并实现SQLite基本CRUD操作的Demo
- android SQLite数据库的基本操作
- Android——sqlite3 基本命令操作
- Android 操作SQLite基本用法
- Android 操作SQLite基本用法
- Android 操作SQLite基本用法
- 【Android】SQLite 数据库基本操作
- Android 操作SQLite基本用法
- Android——sqlite3 基本命令操作
- Android自学之sqlite数据的基本操作和事物的简单应用
- Android 操作SQLite基本用法
- Android的SQLite基本操作
- 关于android中SQLite基本操作
- android---sqlite基本操作
- (转)Android 操作SQLite基本用法
- (4.1.29) Android 操作SQLite基本用法
- Android 操作SQLite基本用法
- Android 操作SQLite基本用法