Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SQLite-无法创建表_Android_Database_Sqlite - Fatal编程技术网

Android SQLite-无法创建表

Android SQLite-无法创建表,android,database,sqlite,Android,Database,Sqlite,这是我要在其中创建数据库表的MainActivity的提取 public class GameDrive extends Activity { DatabaseHelper databaseHelper; SQLiteDatabase database; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContent

这是我要在其中创建数据库表的MainActivity的提取

public class GameDrive extends Activity {


DatabaseHelper databaseHelper;
SQLiteDatabase database;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_game_drive);
    getActionBar().setDisplayHomeAsUpEnabled(true);


    databaseHelper = new DatabaseHelper(this);
    database  = databaseHelper.getWritableDatabase();
。 .

}

为什么Log.d(“数据库”,“调用onCreate”)从未到达?启动应用程序后,只到达Log.d(“Database”,“Constructor called”)语句


谢谢大家!

我猜桌子已经在那里了。因此OnDate将不会再次执行。尝试安装SQLite Viewer以更好地可视化数据库。 我在DatabaseHelper中也看不到方法getWritableDatabase()。请也检查一下这个


您可以尝试的另一件事是将create table命令修改为create table(如果不存在)。

清除数据并再次测试第一次安装或升级数据库版本时将调用create
public class DatabaseHelper extends SQLiteOpenHelper {

private static final String DATABSE_NAME = "database";
private static final String TABLE_NAME = "tripdata";
private static final String COLUMN_ID = "_id";
private static final String COLUMN_TYP = "typ";
private static final String COLUMN_VALUE = "value";

private static final int DATABASE_VERSION = 1;




public DatabaseHelper(Context context){
    super(context, DATABSE_NAME, null, DATABASE_VERSION);
    Log.d("Database","Constructor called");

}


//database is created for first time. creation of table and initial data inside done here
@Override
public void onCreate(SQLiteDatabase db) {
    Log.d("Database","onCreate called");

    db.execSQL("CREATE TABLE "+TABLE_NAME+"("+COLUMN_ID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+COLUMN_TYP+" VARCHAR(255),"+COLUMN_VALUE+" VARCHAR(255));" );

    Log.d("Database","onCreate called succesfuly");

}

//drop tables, add tables etc.
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub
    try {
        db.execSQL("DROP TABLE IF EXISTS TABLE_NAME");
        onCreate(db);
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}