Java 如何修复SQLite中的多个表

Java 如何修复SQLite中的多个表,java,android,sqlite,Java,Android,Sqlite,我做了一个数据库有两个表,但有些问题来了。表TBL_PRASEJARAH不存在…这是我的数据库,请帮助我解决此问题 package com.beta.manusiapurba; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.d

我做了一个数据库有两个表,但有些问题来了。表TBL_PRASEJARAH不存在…这是我的数据库,请帮助我解决此问题

    package com.beta.manusiapurba;

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

public class DataGalleryPurba {
static final String KEY_ROWID = "_id";
static final String KEY_NAMA = "nama";
static final String KEY_GAMBAR = "gambar";
static final String TAG = "DBAdapter";

static final String DB_GAMBAR = "db_gambar";
static final String TBL_PURBA = "tbl_purba";
static final String TBL_PRASEJARAH = "tbl_prasejarah";
static final int DB_VERSION = 1;

static final String CREATE_TBL_PURBA =
"create table tbl_purba (_id integer primary key autoincrement," +
"nama text not null, gambar blob not null);";
我已经制作了tbl_prasejarah表,但在调试中它并不存在

static final String CREATE_TBL_PRASEJARAH =
"create table tbl_prasejarah (_id integer primary key autoincrement," +
"nama text not null, gambar blob not null);";
final Context context;

DatabaseHelper DBHelper;
SQLiteDatabase db,db1;

public DataGalleryPurba(Context ctx)
{
this.context = ctx;
DBHelper = new DatabaseHelper(context);
}

private static class DatabaseHelper extends SQLiteOpenHelper
{

public DatabaseHelper(Context context) {
super(context, DB_GAMBAR, null, DB_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
try{
db.execSQL(CREATE_TBL_PURBA);
loadData(db);
}catch (SQLException e) {
e.printStackTrace();
}
}

private void loadData(SQLiteDatabase db) {
inserData("Homo Sapiens", R.drawable.homosatu, db);
inserData("Homo Erectus", R.drawable.homodua, db);
inserData("Homo Wajakensis", R.drawable.homotiga, db);
inserData("Homo", R.drawable.homoempat, db);
inserData("Homo", R.drawable.homolima, db);
}

private void inserData(String manusiapurba, int img, SQLiteDatabase db) {
ContentValues values = new ContentValues();
values.put(KEY_NAMA, manusiapurba);
values.put(KEY_GAMBAR, img);
db.insert(TBL_PURBA, null, values);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(TAG, "Upgrading database from version "+ oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS contacts");
onCreate(db);
}
}

public DataGalleryPurba open() throws SQLException{
db = DBHelper.getWritableDatabase();
return this;
}



public Cursor getAllGambarPurba(){
Cursor c = db.query(TBL_PURBA, new String[] {KEY_ROWID, KEY_NAMA, KEY_GAMBAR},null,null,null,null,null);
return c;
}

//batas tabel
public void onCreate(SQLiteDatabase db1) {
try{
db1.execSQL(CREATE_TBL_PRASEJARAH);
loadData(db1);
}catch (SQLException e1) {
e1.printStackTrace();
}
}

private void loadData(SQLiteDatabase db1) {
inserData("Homo kwe", R.drawable.homosatu, db1);
inserData("Homo", R.drawable.homodua, db1);
inserData("Homo", R.drawable.homotiga, db1);
inserData("Homo", R.drawable.homoempat, db1);
inserData("Homo", R.drawable.homolima, db1);
}

private void inserData(String zamanprasejarah, int img, SQLiteDatabase db1) {
ContentValues values = new ContentValues();
values.put(KEY_NAMA, zamanprasejarah);
values.put(KEY_GAMBAR, img);
db1.insert(TBL_PRASEJARAH, null, values);
}

public void onUpgrade(SQLiteDatabase db1, int oldVersion, int newVersion) {
Log.w(TAG, "Upgrading database from version "+ oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db1.execSQL("DROP TABLE IF EXISTS contacts");
onCreate(db1);
}


public DataGalleryPurba open1() throws SQLException{
db1 = DBHelper.getWritableDatabase();
return this;
}

public void close(){
DBHelper.close();
}

public Cursor getAllGambarPrasejarah(){
Cursor c1 = db1.query(TBL_PRASEJARAH, new String[] {KEY_ROWID, KEY_NAMA, KEY_GAMBAR},null,null,null,null,null);
return c1;
}
}
创建该表的
onCreate()
不在helper类中,也不会调用它。将代码移动到helper
onCreate()
并卸载应用程序,以便重新创建数据库