テーブルからデータを取得して、別のテーブルに追加しようとしています。KEY_CATEGORYID
テーブル1からどの自動インクリメントが必要で、それをテーブル2と4に追加する必要があります。メソッドが終了した後にのみ値を持つため、これを行う方法がわかりません。これは終了後に発生しKEY_CATEGORYID
ます。何をすべきか完全に困惑していますが、どんな助けも大歓迎です。createBudget
addId
public SQLiteDatabase createBudget(String bname, String bpay, String bamount,
String bmemo) {
// TODO Auto-generated method stub
ContentValues t1 = new ContentValues();
ContentValues t2 = new ContentValues();
ContentValues t4 = new ContentValues();
t1.put(KEY_NAME, bname);
t1.put(KEY_PAYDAY,bpay);
t2.put(KEY_AMOUNT, bamount);
t2.put(KEY_DATE, date);
t4.put(KEY_MEMO, bmemo);
t4.put(KEY_DATE,date);
ourDatabase.insert(DATABASE_TABLE1, null, t1);
ourDatabase.insert(DATABASE_TABLE2, null, t2);
ourDatabase.insert(DATABASE_TABLE4, null, t4);
addID(bname);
return ourDatabase;
}
private void addID(String bname) throws SQLException {
// TODO Auto-generated method stub
ContentValues num = new ContentValues();
List<String> nums = new ArrayList<String>();
int number = 0;
String[] columns = new String[]{KEY_CATEGORYID};
Cursor c = ourDatabase.query(DATABASE_TABLE1, columns,KEY_CATEGORYID + "=?", new String[] {String.valueOf(bname)}, null, null, null, null);
if(c!= null)
{
if (c.moveToFirst()) {
nums.add(c.getString(0));
number = nums.get(0);
}
num.put(KEY_CATEGORYID, number);
}
ourDatabase.insert(DATABASE_TABLE2, null, num);
ourDatabase.insert(DATABASE_TABLE4, null, num);
}