Android数据库的增删改查

1.首先写一个DB文件

package com.zking.db;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

/**
 * Created by Administrator on 2017/6/25 0025.
 */

public class DbHelper extends SQLiteOpenHelper{

    /**
     *
     * @param context    上下文
     * @param name        数据库的名字,“文件名.db”
     * @param factory     数据库工厂,null
     * @param version    数据库版本
     */
    public DbHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
        Log.i("test","构造方法");
    }

    //使用该方法:创建表
    //只会调用一次
    @Override
    public void onCreate(SQLiteDatabase db) {
        Log.i("test","创建表");
    }

    //数据库版本  低-->高
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Log.i("test","升级数据库版本");
    }
}
2.创建数据库和打开连接

  DbHelper dbHelper=new DbHelper(this,"G160628.db",null,2);
        sqLiteDatabase = dbHelper.getWritableDatabase();

  3.直接进行增删改查

public void operation(View view){
        String uname=et_main_uname.getText().toString();
        String upass=et_main_upass.getText().toString();
        //添加 1
        ContentValues contentValues=new ContentValues();
        contentValues.put("uname",uname);
        contentValues.put("upass",upass);
        contentValues.putNull("uid");
        sqLiteDatabase.insert("login","uname",contentValues);
         //添加2
//        for (int i = 0; i <100 ; i++) {
//         sqLiteDatabase.execSQL("insert into login(uname,upass) values('小"+i+"','123')");
//        }

        //修改
        ContentValues contentValues=new ContentValues();
        contentValues.put("uname",uname);
        contentValues.put("upass",upass);
        sqLiteDatabase.update("login",contentValues,"uid=?",new String[]{1+""});

        //删除
        //sqLiteDatabase.delete("login","uid=?",new String[]{102+""});

        //查询
//        sqLiteDatabase.query()
        int pageNo=2;
        int pageSize=3;
        Cursor cursor=sqLiteDatabase.rawQuery("select * from login limit ?,?",new String[]{((pageNo-1)*pageSize)+"",pageSize+""});
        while (cursor.moveToNext()){
            int uid=cursor.getInt(cursor.getColumnIndex("uid"));
            String name=cursor.getString(cursor.getColumnIndex("uname"));
            String pass=cursor.getString(cursor.getColumnIndex("upass"));
            Log.i("test",uid+" "+name+" "+pass);
        }



Android 中进行数据库增删改查,需要使用 SQLite 数据库。SQLite 是一款轻量级的关系型数据库,在 Android 中内置了 SQLite 数据库引擎,可以通过 Android SDK 提供的 API 进行数据库的操作。 以下是一个简单的示例代码,演示如何在 Android 中进行数据库增删改查: 1. 创建数据库 首先需要创建一个 DBHelper 类,用于创建数据库以及数据表。以下是一个示例代码: ```java public class DBHelper extends SQLiteOpenHelper { private static final String DB_NAME = "my_db"; private static final int DB_VERSION = 1; public DBHelper(Context context) { super(context, DB_NAME, null, DB_VERSION); } @Override public void onCreate(SQLiteDatabase db) { String sql = "CREATE TABLE IF NOT EXISTS student (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)"; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { String sql = "DROP TABLE IF EXISTS student"; db.execSQL(sql); onCreate(db); } } ``` 2. 插入数据 使用 ContentValues 类来组装数据,然后调用 insert() 方法将数据插入到数据库中。以下是一个示例代码: ```java ContentValues values = new ContentValues(); values.put("name", "张三"); values.put("age", 20); db.insert("student", null, values); ``` 3. 查询数据 使用 query() 方法来查询数据库中的数据。以下是一个示例代码: ```java Cursor cursor = db.query("student", null, null, null, null, null, null); while (cursor.moveToNext()) { int id = cursor.getInt(cursor.getColumnIndex("_id")); String name = cursor.getString(cursor.getColumnIndex("name")); int age = cursor.getInt(cursor.getColumnIndex("age")); Log.i("TAG", "id: " + id + ", name: " + name + ", age: " + age); } cursor.close(); ``` 4. 更新数据 使用 update() 方法来更新数据库中的数据。以下是一个示例代码: ```java ContentValues values = new ContentValues(); values.put("age", 21); db.update("student", values, "name = ?", new String[]{"张三"}); ``` 5. 删除数据 使用 delete() 方法来删除数据库中的数据。以下是一个示例代码: ```java db.delete("student", "name = ?", new String[]{"张三"}); ``` 以上就是在 Android 中进行数据库增删改查的简单示例代码。需要注意的是,数据库操作需要在子线程中进行,不能在主线程中进行,否则会影响应用的性能和响应速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值