数据输入SQLite Android
好的,我已经在android中用SQLite创建了我的数据库,但它只是一个可读文件,我想将我的信息输入到表中,以便在android中为其添加函数 关于如何在运行时通过应用程序实现这一点,有很多教程,但是当用户加载应用程序时,如何在应用程序中已有表信息 我相信你们很多人都会推荐这个 这很好,但它不支持外键 我知道你可以这样做,但我有很多信息数据输入SQLite Android,android,sqlite,Android,Sqlite,好的,我已经在android中用SQLite创建了我的数据库,但它只是一个可读文件,我想将我的信息输入到表中,以便在android中为其添加函数 关于如何在运行时通过应用程序实现这一点,有很多教程,但是当用户加载应用程序时,如何在应用程序中已有表信息 我相信你们很多人都会推荐这个 这很好,但它不支持外键 我知道你可以这样做,但我有很多信息 ContentValues values = new ContentValues(); values.put(DBAdapter.Column1,
ContentValues values = new ContentValues();
values.put(DBAdapter.Column1, "HP");
values.put(DBAdapter.Column2, "qw");
values.put(DBAdapter.Column3, "5280");
values.put(DBAdapter.Column4, "345, 546");
db.insert(DBAdapter.TABLE, null, values);
外键在那里。您需要从转储中删除此行:
杂注外键=关闭
;还有小提琴!你有外键
你所要做的就是:
db.execSQL("PRAGMA foreign_keys=ON;");
当您创建数据库时。默认情况下,它是关闭的,当您打开它时,您将无法获得外键。想要一些示例代码吗?您不能在扩展SQLiteOpenHelper的类中执行insert语句吗?大概是这样的:
public class DataStore extends SQLiteOpenHelper {
@Override
public void onCreate(SQLiteDatabase db) {
// execute create
// execute insert
}
}
但是,当用户加载应用程序时,应用程序中怎么可能已有表信息
试试这个:
@Override
public void onOpen(SQLiteDatabase db) {
super.onOpen(db);
if (!db.isReadOnly()) {
db.execSQL("PRAGMA foreign_keys=ON;");
ContentValues values = new ContentValues();
values.put(COLUMN_NAME, DATA);
long id = db.insert(TABLE_NAME, null, values);
}
}