创建sqlite数据库,并执行增删改查
package visizen.com.sqlite;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by Administrator on 2015/11/17 0017.
*操作sqlite数据库类
*/
public class SqliteDbHelper extends SQLiteOpenHelper {
/**
* 构造函数
* @param context 上下文
* @param name 数据库的文件名
* @param factory 游标工厂,一般使用默认工厂,传null即可
* @param version 数据的版本号
*/
public SqliteDbHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
/**
*第一次创建数据时会调用此方法,一般用于初始化数据库表结构
* @param db
*/
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table account(id integer primary key autoincrement,name varchar(20),money varchar(20))");
}
/**
* 构造函数version改变时调用此方法(升级APP版本,数据库表不够,或觉得表结构不合适,想重新调整)
* @param db 数据库
* @param oldVersion 老版本
* @param newVersion 新版本
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
package visizen.com.sqlite;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2015/11/17 0017.
*/
public class UserDao {
SqliteDbHelper helper;
public UserDao(Context context) {
helper = new SqliteDbHelper(context,"note.db",null,1);
}
/**
* 添加数据
* @param name 用户名
* @param money 用户money
*/
public void add(String name,float money){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("insert into account(name,money) values(?,?)",new Object[]{name,money});
db.close();
}
/**
* 删除数据
* @param id 用户ID
*/
public void delete(int id){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("delete from account where id=?",new Object[]{id});
db.close();
}
/**
* 更新数据
* @param id 用户ID
* @param money 用户money
*/
public void update(int id,float money){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("update account set money=? where id=?",new Object[]{money,id});
db.close();
}
/**
* 查询所有数据
* @return 返回用户List
*/
public List<User> findAll(){
List<User> users=new ArrayList<User>();
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from account", null);
User user=null;
while (cursor.moveToNext()){
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
float money=cursor.getFloat(cursor.getColumnIndex("money"));
user = new User(id,name,money);
users.add(user);
}
db.close();
return users;
}
}
package visizen.com.sqlite;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2015/11/19 0019.
*/
public class UserDao2 {
private SqliteDbHelper helper;
public UserDao2(Context context) {
helper = new SqliteDbHelper(context, "note.db", null, 1);
}
/**
* 不回记录
*
* @param name 用户名
* @param money 钱
* @return 返回true添加成功,返回false,添加失败
*/
public boolean add(String name, float money) {
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "小李");
values.put("money", 123);
//the row ID of the newly inserted row, or -1 if an error occurred
long id = db.insert("user", null, values);
db.close();
return id > -1 ? true : false;
}
/**
* 删除
*
* @param id 要删除的ID
* @return 删除成功返回true, 失败返回false
*/
public boolean delete(String id) {
SQLiteDatabase db = helper.getWritableDatabase();
/**
* @return the number of rows affected if a whereClause is passed in, 0
* otherwise. To remove all rows and get a count pass "1" as the
* whereClause.
*/
int number = db.delete("user", "id=?", new String[]{id + ""});
db.close();
return number > 0 ? true : false;
}
/**
* 更新
*
* @param id
* @return 更新成功返回true, 失败返回false
*/
public boolean update(String id) {
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "小明");
values.put("money", "5000");
//the number of rows affected
int rows = db.update("user", values, "id=?", new String[]{id});
db.close();
return rows > 0 ? true : false;
}
/**
* 查询所有的数据
* @return
*/
public List<User> findAll(){
SQLiteDatabase db = helper.getWritableDatabase();
Cursor cursor = db.query("user", new String[]{"id", "name", "money"}, null, null, null, null, null);
List<User> users=new ArrayList<User>();
User user=null;
while (cursor.moveToNext()){
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
float money=cursor.getFloat(cursor.getColumnIndex("money"));
user = new User(id,name,money);
users.add(user);
}
db.close();
return users;
}
}
注意操作数据库最好用UserDao2
浙公网安备 33010602011771号