package com.example.login; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import androidx.annotation.Nullable; public class Mysql2 extends SQLiteOpenHelper { public Mysql2(@Nullable Context context, @Nullable String name2, @Nullable SQLiteDatabase.CursorFactory factory, int version) { super(context, name2, factory, version); } @Override public void onCreate(SQLiteDatabase db2){ String sql = "create table loginsp(id integer primary key autoincrement,uspname text,usppwd text)"; db2.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db2,int oldVersion, int newVersion){ } }
时间: 2024-03-03 13:48:27 浏览: 98
android-sqlite.7z
这段代码与上面的代码非常相似,也是一个用于创建 SQLite 数据库的帮助类,其中包含两个方法:
1. `onCreate()` 方法:在数据库首次创建时调用,用于创建数据库表和初始化数据。
2. `onUpgrade()` 方法:在数据库需要升级时调用,用于更新数据库表结构和数据。
具体来说,这段代码会创建一个名为 "loginsp" 的表,该表包含三个字段:id、uspname 和 usppwd。其中,id 是主键,自增长;uspname 和 usppwd 分别用于存储用户的用户名和密码。
如果需要使用该类创建数据库,可按照以下步骤进行:
1. 在需要使用数据库的 Activity 中创建 Mysql2 对象,例如:
```java
Mysql2 mysql2 = new Mysql2(this, "login.db", null, 1);
```
其中,第一个参数为当前 Activity 的上下文对象;第二个参数为数据库名称;第三个参数为游标工厂对象,一般传入 null 即可;第四个参数为数据库版本号,用于管理数据库的升级和降级。
2. 调用 getWritableDatabase() 方法获取可写数据库对象,例如:
```java
SQLiteDatabase db2 = mysql2.getWritableDatabase();
```
注意,如果数据库不存在,则会自动调用 `onCreate()` 方法创建数据库和表;如果数据库已存在,但版本号不一致,则会自动调用 `onUpgrade()` 方法更新数据库表结构和数据。
3. 使用 execSQL() 方法执行 SQL 语句来对数据库进行增、删、改、查等操作,例如:
```java
String sql = "insert into loginsp(uspname, usppwd) values('admin', '123456')";
db2.execSQL(sql);
```
该代码将向 loginsp 表中插入一条用户名为 "admin"、密码为 "123456" 的记录。
当然,为了保证数据安全和代码健壮性,建议在实际使用中使用参数化语句或者 ContentValue 对象来进行数据库操作,而不是直接拼接 SQL 语句。
阅读全文