Android操作SQLite的几个常见方法

来源:互联网 发布:李阳前妻kim现状 知乎 编辑:程序博客网 时间:2024/06/07 02:23
建立数据表


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;
}


}
0 0
原创粉丝点击