您的位置:首页 > 移动开发 > Android开发

Android操作SQLite的几个常见方法

2014-08-24 16:30 330 查看
建立数据表

public void onCreate(SQLiteDatabase db) {
//拼接建立数据表的SQL语句
StringBuilder createNewsTable = new StringBuilder();
createNewsTable.append("create table ");
createNewsTable.append(NEWS_TAB);
createNewsTable.append("(");
createNewsTable.append(" id integer primary key autoincrement,");
createNewsTable.append(" title varchar(100) ,");
createNewsTable.append(" author varchar(100) ");
createNewsTable.append(")");
db.execSQL(createNewsTable.toString());
}

Android操作SQlite的几个常用方法:

//添加数据
public void addNews(String title,String author){
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
String insertSQL="insert into "+MySQLiteOpenHelper.NEWS_TAB
+"(title,author) values(?,?)";

db.execSQL(insertSQL, new Object[]{title,author});
db.close();
}
//修给数据
public void updateNews(int id,String title,String author){
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("title", title);
values.put("author", author);
db.update(MySQLiteOpenHelper.NEWS_TAB, values, " id = ?", new String[]{id+""});

db.close();
}
//删除数据
public void DelNews(int id){
SQLiteDatabase db=dbOpenHelper.getWritableDatabase();
db.delete(MySQLiteOpenHelper.NEWS_TAB,  " id = ?", new String[]{id+""});
}

//通过游标查询数据
public ArrayList<News> findNews(){
ArrayList<News> list = new ArrayList<News>();
SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
Cursor cursor= db.query(MySQLiteOpenHelper.NEWS_TAB,
new String[]{"id","title","author"},
null, 
null, 
null,
null, 
null);

while(cursor.moveToNext()){
int id=cursor.getInt(cursor.getColumnIndex("id"));
String title=cursor.getString(cursor.getColumnIndex("title"));
String author= cursor.getString(cursor.getColumnIndex("author"));
News n = new News();
n.setId(id);
n.setAuthor(author);
n.setTitle(title);
list.add(n);
}

cursor.close();
db.close();

return list;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: