我正在研究一个Android应用程序,并创建了一个包含几个表的数据库。我已经成功创建了数据库,一切正常。
我现在要做的是将内容添加到数据库中。此内容将是静态的,用于填充带有数字等的页面。
我不确定如何设置插入什么,所以任何帮助都会很好。
请参阅下面我创建数据库和表格的代码。
package com.example.testerrquin.euro2016fanguide;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/*** Created by rquin on 10/03/2016.*/
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "Euro2016.db";
public static final String TABLE_USERS = "Users_table";
public static final String TABLE_CAPACITY = "Capacity_table";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("Create table " + TABLE_USERS +" (UserID INTEGER PRIMARY KEY AUTOINCREMENT, Forename TEXT, Surname TEXT, Email TEXT, Password TEXT)");
db.execSQL("Create table " + TABLE_CAPACITY + " (CapacityID INTEGER PRIMARY KEY AUTOINCREMENT, Capacity INTEGER)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_USERS);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_CAPACITY);
onCreate(db);
}
}
理想情况下,我希望将数据插入到Capacity表中,如:
CapacityID Capacity
1 10000
2 40000
3 70000
感谢。
答案 0 :(得分:1)
如果要在数据库中插入静态数据,并且该数据不会随时被修改,我认为在创建表之后,它会在onCreate方法中插入它的最佳方法。所以你的onCreate看起来像:
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("Create table " + TABLE_USERS +" (UserID INTEGER PRIMARY KEY AUTOINCREMENT, Forename TEXT, Surname TEXT, Email TEXT, Password TEXT)");
db.execSQL("Create table " + TABLE_CAPACITY + " (CapacityID INTEGER PRIMARY KEY AUTOINCREMENT, Capacity INTEGER)");
db.execSQL("INSERT INTO " + TABLE_CAPACITY + " VALUES (10000, 40000, 70000)");
}