从java代码将静态数据插入SQLlite DB

时间:2016-03-10 02:53:56

标签: java android sqlite methods

我正在研究一个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

感谢。

1 个答案:

答案 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)");
}