0
我正在使用execSQL
命令将数据插入包含外键的表中。使用ContentValues插入FOREIGN KEY字段
这就是我目前所做的。
String query = "INSERT INTO "+ SunshineContract.WeatherEntry.TABLE_NAME +" ("+
SunshineContract.WeatherEntry.COL_LOC_KEY + ", "+
SunshineContract.WeatherEntry.COL_WIND_SPEED+ ", "+
SunshineContract.WeatherEntry.COL_DEGREE+ ") VALUES ((SELECT " +
SunshineContract.LocationEntry._ID + " FROM "+ SunshineContract.LocationEntry.TABLE_NAME + " WHERE "+
SunshineContract.LocationEntry._ID + " = 1), "+
80, 98);";
sqLiteDatabaseWritable.execSQL(query);
我想使用内容提供商将数据插入到我的数据库。但目前,我无法使用内容提供者来插入我的数据,因为我无法为此外键字段构造内容值。
contentValue.put(SunshineContract.WeatherEntry.COL_LOC_KEY, 'SELECT " +
SunshineContract.LocationEntry._ID + " FROM "+ SunshineContract.LocationEntry.TABLE_NAME + " WHERE "+
SunshineContract.LocationEntry._ID + " = 1)'
是否有可能将数据插入到表中含有用ContentValues
,这样我可以使用ContentResolver
FOREIGN KEY的任何方法?
在大多数情况下,数据将来自web api(json或xml),您将不得不将该json解析为一些java数据对象。然后,只需将此java数据对象的属性作为ContentValue插入到表中即可。你能解释一下你的问题的背景故事吗? –