gpt4 book ai didi

java - 无法创建数据库

转载 作者:搜寻专家 更新时间:2023-10-30 23:28:19 24 4
gpt4 key购买 nike

我正在尝试创建一个数据库,但是当我在应用程序上打开文件资源管理器时,没有数据库,也没有数据库应该所在的文件夹,但这可能是因为数据库从未创建过。下面是我的代码。感谢您的帮助

数据库助手.java

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;


public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "Student.db";
public static final String TABLE_NAME = "student_table";
public static final String COL_1 = "ID";
public static final String COL_2 = "NAME";
public static final String COL_3 = "I1Q1";
public static final String COL_4 = "I1Q2";
public static final String COL_5 = "I2Q1";
public static final String COL_6 = "I2Q2";
public static final String COL_7 = "I3Q1";
public static final String COL_8 = "I3Q2";
public static final String COL_9 = "I4Q1";
public static final String COL_10 = "I4Q2";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table " + TABLE_NAME +" (ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT,I1Q1 TEXT,I1Q2 TEXT,I2Q1 TEXT,I2Q2 TEXT,I3Q1 TEXT,I3Q2 TEXT,I4Q1 TEXT,I4Q2 TEXT)");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);
onCreate(db);
}
}

主要 Activity .java

public class MainActivity extends AppCompatActivity {
DatabaseHelper myDb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myDb = new DatabaseHelper(this);
}
}

最佳答案

您已经在 onCreate() 中创建了 DatabaseHelper 对象,但是您还没有使用 SQLiteDatabase。这就是从未创建数据库的原因。

onCreate() 中调用 myDb.getWrittableDatabase() 之后将创建您的数据库。

关于java - 无法创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53253986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com