Android Studio 安卓创建数据库

    技术2024-12-08  20

    示例创建数据库的类,并创建增加、查询、删除用户信息的方法,在其他类直接调用即可

    public class UserDB { SQLiteDatabase writableDatabase; //声明操作数据库对象 private static String DB_NAME = "user.db"; //表名 private static int DB_VERSION = 1; //版本号 private static String SQL = "create table userinfo("//创建数据库语句 + "id integer primary key autoincrement," //主键 + "account text," //字符串型 + "nickname text," //数据库字段 + "sex text," + "age integer," //整型 + "password text)"; public static class UserDBOpenHelper extends SQLiteOpenHelper { private Context context; public UserDBOpenHelper(Context context) { super(context, DB_NAME, null, DB_VERSION); //数据库传入数据库名及版本号 this.context = context; } @Override public void onCreate(SQLiteDatabase db) { //创建数据库 db.execSQL(SQL); //执行SQL语句 } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //当数据库版本发生变化执行 db.execSQL("drop table if exists userinfo"); //有这个数据库则删除重新创建 db.execSQL(SQL); } } public void OpenUserDb(Context context) { //打开数据库 UserDBOpenHelper userDBOpenHelper = new UserDBOpenHelper(context); writableDatabase = userDBOpenHelper.getWritableDatabase(); //对数据库增删查改方法 } public long insertUserData(User user) { //增加数据 String account = user.getAccount(); //获取控件输入的值 String nickname = user.getNickname(); String sex = user.getSex(); String password = user.getPassword(); int age = user.getAge(); ContentValues contentValues = new ContentValues(); //存储信息 contentValues.put("account", account); //调用contentValues.put()方法通过键值存入键值 contentValues.put("nickname", nickname); contentValues.put("sex", sex); contentValues.put("password", password); contentValues.put("age", age); //调用增加数据writableDatabase.insert方法,第一个参数表名 return writableDatabase.insert("userinfo", null, contentValues); / } public List<User> FindAllUser() { //查询数据库所有数据 //封装了一个数据库字段的类,创建列表对象,存储查到找的所有用户信息 List<User> users = new ArrayList<>(); //查询条件 Cursor userinfo = writableDatabase.query("userinfo", null, null, null, null, null, null, null); while (userinfo.moveToNext()) { //获取查找到的信息并保存临时变量 String account = userinfo.getString(userinfo.getColumnIndex("account")); String nickname = userinfo.getString(userinfo.getColumnIndex("nickname")); String sex = userinfo.getString(userinfo.getColumnIndex("sex")); String password = userinfo.getString(userinfo.getColumnIndex("password")); int age = Integer.parseInt(userinfo.getString(userinfo.getColumnIndex("age"))); User user = new User(account, nickname, sex, password, age);//封住成对象 users.add(user); //增加到列表 } return users; //返回数据保存 } public boolean delete(String account) { //删除 //调用writableDatabase.delete()删除方法,会返回受影响行数,第一个参数表名,第二个是删除条件, return writableDatabase.delete("userinfo", "account = ?", new String[]{account}) > 0; }
    Processed: 0.010, SQL: 9