【问题标题】:Inserting Static data into SQLlite DB from java code从java代码将静态数据插入SQLite DB
【发布时间】:2016-06-24 17:17:39
【问题描述】:

我目前正在开发一个 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);
}


}

理想情况下,我希望将数据插入到容量表中,例如:

CapacityID Capacity
1          10000

2          40000

3          70000

谢谢。

【问题讨论】:

    标签: java android sqlite methods


    【解决方案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)");
    }
    

    【讨论】:

    • 谢谢。现在这是有道理的。明天会尝试,但它肯定会奏效。干杯
    • 最终不得不使用它。 db.execSQL("插入 " + TABLE_CAPACITY + " (容量) 值 (10000),(20000),(30000)");您的代码为我指明了正确的方向。干杯
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    • 2013-02-07
    • 2012-02-07
    • 1970-01-01
    相关资源
    最近更新 更多