当前位置:Gxlcms > 数据库问题 > 数据库和表的创建(SQLiteOpenHelper)

数据库和表的创建(SQLiteOpenHelper)

时间:2021-07-01 10:21:17 帮助过:18人阅读

class MySqliteHelper extends SQLiteOpenHelper { public MySqliteHelper(Context context) { super(context, Constant.DATABASE_NAME, null, Constant.DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { //创建表结构 String sql = "create table "+Constant.TABLE_NAME+"("+ Constant.ID+" integer primary key autoincrement,"+ Constant.NAME+" varchar(20)," + Constant.AGE+" integer)"; sqLiteDatabase.execSQL(sql);//执行sql语句 } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { } }

<2>Constant类代码:

public class Constant {
    public static final String DATABASE_NAME = "info.db";//数据库名称
    public static final int DATABASE_VERSION = 1;//数据库版本号
    public static final String TABLE_NAME = "person";//表名
    public static final String ID = "id";//表字段
    public static final String NAME = "name";//表字段
    public static final String AGE = "age";//表字段

}

<3>DbManger类代码:

/**
 * Created by lance on 2017/2/27.
 * 主要是对数据库操作的工具栏
 */

public class DbManger {
    private static MySqliteHelper mMySqliteHelper;
    public static MySqliteHelper getIntance(Context context){
        if(mMySqliteHelper == null){
            mMySqliteHelper = new MySqliteHelper(context);
        }
        return mMySqliteHelper;
    }
}

<4>MainActivity类代码:

public class MainActivity extends AppCompatActivity {
    private Button mDbButton;
    private MySqliteHelper mMySqliteHelper;
    private SQLiteDatabase db;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mMySqliteHelper = DbManger.getIntance(MainActivity.this);
        mDbButton = (Button) findViewById(R.id.create_db);
        /**
         * 点击按钮创建数据库
         */
        mDbButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                /*
                getReadableDatabase()和getWritableDatabase()都是创建或打开数据库
                如果数据库不存在则创建数据库,如果数据库存在直接打开数据库
                默认情况下这两个函数都表示打开或创建可读可写的数据库对象,如果磁盘已满或者是
                数据库本身权限等情况下getReadableDatabase()打开的是只读数据库
                 */
                db = mMySqliteHelper.getWritableDatabase();
            }
        });
    }
}

 

数据库和表的创建(SQLiteOpenHelper)

标签:rem   表名   帮助   his   版本   代码   只读   nbsp   读数   

人气教程排行