Sqlite初次使用

SQlite推荐学习网站https://www.runoob.com/w3cnote/android-tutorial-sqlite-intro.html

主界面

在这里插入图片描述

MyDBOpenHelper

MyDBOpenHelper是自己写的继承DBOpenHelper的类。增删改查都是基本的sql语句。

public class MyDBOpenHelper extends DBOpenHelper {
    private static final String  TAG = "ttit";

    public MyDBOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }

    // 第一次创建时调用
    @Override
    public void onCreate(SQLiteDatabase db) {
        Log.e(TAG,"执行onCreate");
        db.execSQL("CREATE Table Person(personId INTEGER PRIMARY key Autoincrement   , name VARCHAR(256))");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Log.e(TAG,"执行update");
        db.execSQL("ALTER TABLE Person Add phone VARCHAR(12) NOT NULL");
    }
}

设置需要进行的数据库

 myDBOpenHelper = new MyDBOpenHelper(myContext, "my.db", null, 1);

最后一个1表示当前版本号,在上面的代码中是有两个版本,第一个只有id和姓名,而第二个增加了phone,myDBOpenHelper.getWritableDatabase(),如果改成2,新版本和旧版本不一样,就会执行OnUpdate方法。

相应的增删改查

public void onClick(View v) {
        db = myDBOpenHelper.getWritableDatabase();
        switch (v.getId()) {
        // 查询
            case R.id.btn_query:
                stringBuilder = new StringBuilder();
                Cursor cursor = db.query("Person",null,null,null,"personId",null,null);
                if (cursor.moveToFirst()){
                    do {
                        int personId = cursor.getInt(cursor.getColumnIndexOrThrow("personId"));
                        String name = cursor.getString(cursor.getColumnIndexOrThrow("name"));
                        stringBuilder.append("id: "+personId+" name: "+name+"\n");
                    }while (cursor.moveToNext());
                   }
                    cursor.close();
                Toast.makeText(myContext, stringBuilder.toString(), Toast.LENGTH_SHORT).show();
                break;

			// 插入
            case R.id.btn_insert:
                ContentValues values1 = new ContentValues();
                values1.put("name", "芜湖" + i);
                i++;
                db.insert("Person", null, values1);
                Toast.makeText(myContext, "插入成功", Toast.LENGTH_SHORT).show();
                break;

			// 更新
            case R.id.btn_update:
                ContentValues contentValues2 = new ContentValues();
                contentValues2.put("name","dddddd");
                db.update("person",contentValues2,"name=?",new String[]{"芜湖0"});
                Toast.makeText(myContext, "更新成功", Toast.LENGTH_SHORT).show();
                break;
			
			// 删除
            case R.id.btn_delete:
                db.delete("person","personId=?",new String[]{"1000003"});
                Toast.makeText(myContext, "删除成功", Toast.LENGTH_SHORT).show();
                break;
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flybase

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值