我再次在这里寻求帮助,现在我将详细说明我的问题,希望有人能解决它:在第一个活动onClick
中,方法 insert 被执行
public class ActivityUn extends Activity {
final String PREFS_NAME = "MyPrefsFile";
final String ID = "id";
DBAdapter db = new DBAdapter(this);
public void ajouter(View v) {
db.open();
Toast.makeText(getApplicationContext(), "Données enregistrées", Toast.LENGTH_LONG).show();
SharedPreferences prefs = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
long id = db.insertMENAGE(rm_1ts,rm_2ts,rm_3ts);
prefs.edit().putLong(ID, id).commit();
db.close();
}
第二个活动代码是:
public class ActivityDeux extends Activity {
SharedPreferences prefs2 = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
private SharedPreferences prefs;
long id = prefs.getLong(ID, 0);
DBAdapter db = new DBAdapter(this);
public void ajouter(View v) {
db.open();
db.insertMENAGE2(id,a16,b17,rm_18_1ts,rm_18_2ts,c19,d20,e21);
db.close();
}
这里有两种方法插入和更新......
public long insertMENAGE(String Region, String Provence_prefecture ,StringCommune_Arrondissement) {
ContentValues initialValues = new ContentValues();
initialValues.put(col_Region,Region);
initialValues.put(col_Provence_prefecture ,Provence_prefecture);
initialValues.put(col_Commune_Arrondissement,Commune_Arrondissement);
return db.insert(MENAGE,null, initialValues);
}
在第二个活动中,我将通过完成行中的剩余列来更新同一个表:
public void insertMENAGE2(int id, int a16, int b17) {
ContentValues values = new ContentValues();
values.put(col_Type_habitat,a16);
values.put(col_Statut_occupation ,b17);
db.update(MENAGE,values,_id+"="+id, null);
}
现在,我想指出id ( primary key )
表中最后插入的行,
我已经寻找解决方案,但它们不适合我的情况,因为我有其他活动更新同一张表
而且我每次都需要指出id
相关的是最后一个插入的。
谢谢