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插入到表中即可。你能解釋一下你的問題的背景故事嗎? –