ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第二阶段冲刺(2)

2022-05-27 16:35:28  阅读:121  来源: 互联网

标签:String db 冲刺 sql 第二阶段 public Constants NAME


根据一个教程性的视频学习了sqlite的语法,成功创建了数据库,也可以对数据库进行升级等操作,编写了Dao方法。

public class DatabaseHelper extends SQLiteOpenHelper {
    public static SQLiteDatabase sqLiteDatabase;

    private static final String TAG = "DatabaseHelper";


    /*
    context:上下文
    name:数据库名称
    factory:直译游标工厂,为null的时候使用默认值
    version:版本号

     */

    public DatabaseHelper(@Nullable Context context) {
        super(context, Constants.DATABASE_NAME, null, Constants.VERSION_CODE);
    }

    //只有第一次创建数据库时会调用这个方法
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        //创建时的回调
        Log.d(TAG,"创建数据库...");
        //创建字段
        String sql = "create table "+ Constants.TABLE_NAME +"(_id integer,name varchar,age integer,salary integer)";
        sqLiteDatabase.execSQL(sql);
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) {
        //升级数据库时的回调
        Log.d(TAG,"升级数据库...");

        String sql;
        switch (oldVersion){
            case 3://添加phone字段
//                sql = "alter table "+Constants.TABLE_NAME+" add phone integer";
//                sqLiteDatabase.execSQL(sql);
                break;
            case 4://添加address字段
                sql = "alter table "+Constants.TABLE_NAME+" add address varchar";
                sqLiteDatabase.execSQL(sql);
                break;
            case 5:

                break;

        }


    }
}
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        DatabaseHelper helper = new DatabaseHelper(this);
        helper.getWritableDatabase();

    }
}
View Code
public class Constants {
    public static final String DATABASE_NAME = "sunofbeaches.db";
    public static final int VERSION_CODE = 5;
    public static final String TABLE_NAME = "employee";

}
View Code
public class Dao {

    private static final String Tag = "";
    private final DatabaseHelper mHelper;



    public Dao(Context context) {

        //创建数据库
        mHelper = new DatabaseHelper(context);

    }

    public void insert() {
        SQLiteDatabase db = mHelper.getWritableDatabase();
        String sql = "insert into "+ Constants.TABLE_NAME +"(_id,name,age,salary,phone) values(?,?,?,?,?)";
        db.execSQL(sql,new Object[]{1,"BillGates",60,1,110});
        db.close();
    }

    public void delete() {
        SQLiteDatabase db = mHelper.getWritableDatabase();
        String sql = "delete from "+ Constants.TABLE_NAME +" where age = 60";
        db.execSQL(sql);
        db.close();
    }

    public void update() {
        SQLiteDatabase db = mHelper.getWritableDatabase();
        String sql = "update "+ Constants.TABLE_NAME +" set salary = 2 where age = 60";
        db.execSQL(sql);
        db.close();
    }

    public void query() {
        SQLiteDatabase db = mHelper.getWritableDatabase();
        String sql = "select * from "+ Constants.TABLE_NAME;
        Cursor cursor = db.rawQuery(sql,null);
        while (cursor.moveToNext()){
            int index = cursor.getColumnIndex("name");
            String name = cursor.getString(index);
            Log.d(Tag,"name == " + name);
            System.out.println(name+ "asdsadsadasdasdsxzcwqe2121412421421");
        }
        cursor.close();
        db.close();
    }
}
View Code

 

标签:String,db,冲刺,sql,第二阶段,public,Constants,NAME
来源: https://www.cnblogs.com/headl-voi/p/16318100.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有