SQLite数据库的使用

常用数据库创建,增删改查操作:

1.创建数据库

创建一个继承自SQLiteOpenHelper的类,在onCreate()方法中执行创建数据库语句,具体代码如下:


public class Db extends SQLiteOpenHelper {
    //数据库的构造方法,用来定义数据库的名称,数据库查询结果集,数据库的版本
    public db(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, "users", null, 1);

    }

    //数据库第一次被创建时调用该方法
    @Override
    public void onCreate(SQLiteDatabase db) {
        //初始化数据库表结构,执行一条建表的SQL语句
        db.execSQL("CREATE TABLE  users( " +
                   "username TEXT  DEFAULT \"\","+
                   "userpwd  TEXT  DEFAULT \"\")");

    }

    //当数据库的版本号增加时调用
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}
注:在虚拟机上运行时,创建的数据库要在DDMS中找
2.增加数据
 
public class MainActivity extends AppCompatActivity {

    private Db db;
    private SQLiteDatabase dbWrite;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //获取一个Db 对象
        db = new Db(this);
        dbWrite = db.getWritableDatabase();
        //将参数名和列添加到ContentValues对象中
        ContentValues cv = new ContentValues();
        cv.put("username","abc");
        cv.put("userpwd",123);
        //插入数据到数据库
        dbWrite.insert("users",null,cv);
        db.close();
}}
注:使用完SQLiteDatabase对象后一定要关闭,否则数据库一直存在,消耗内存,当内存不足时会获取不到SQLiteDatabase对象
3.修改数据
 
public int update(String name,String newnumber){
    //获取一个Db对象
    db = new Db(this);
    //将参数名和列添加到ContentValues对象中
    ContentValues cv = new ContentValues();
    cv.put("username",newnumber);
    //执行修改
    int number = db.getWritableDatabase().update("users",cv,"name=?",new String[]{name});
    db.close();
    return number;
    
}
4.删除数据
 
public int delete(String name) {
    //获取一个Db对象
    db = new Db(this);
    //删除数据
    int number = db.getWritableDatabase().delete("users", "username=?", new String[]{name});
    //关闭数据库
    db.close();
    return number;
}
5.查询数据
 
public void find(String name){
    //获取Db 对象
    db = new Db(this);
    dbRead = db.getReadableDatabase();
    //查询数据库全部数据
    Cursor c = dbRead.query("users",null,null,null,null,null,null);
    /* 查询指定数据
    Cursor c = dbRead.query(表名,null,列名("username=?"),查询的值(String[]{"abc"}),null,null,null);
    */
    //如果c的下一项还有就执行
    while(c.moveToNext()){
        //获取"username"列数据
        String uname = c.getString(c.getColumnIndex("username"));
        //获取"userpwd"列数据
        String upwd = c.getString(c.getColumnIndex("userpwd"));
    }
    db.close();
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值