値に基づいて1つのテーブル(DATABASE_FAV_EQUIP_TABLE)で情報を検索し、その情報をプルしてから、別のテーブル(DATABASE_EQUIP_TABLE)に配置しようとしています。最初に情報がまだ存在しないかどうかを確認します。私のコードは以下の通りです。クラッシュするものはなく、エラーも発生しませんが、2番目のテーブル(DATABASE_EQUIP_TABLE)に情報が配置されません。私は何度かそれを調べましたが、なぜこれが機能しないのか理解できません。
//takes all equip data from saved equip set, and puts into equip table
public String AddSavedEquipToEquipTable(String name) {
String[] columns = new String[]{KEY_EQUIP};
Cursor c = ourDatabase.query(DATABASE_FAV_EQUIP_TABLE, columns, KEY_FAVNAME + "='" + name + "'", null, null, null, null);
if (c == null){
return null;
}
else if(c != null && c.moveToFirst()) {
do {
int iEquip = c.getColumnIndex(KEY_EQUIP);
String equip = c.getString(iEquip);
CheckEquipTable(equip);
c.moveToNext();
} while (KEY_FAVNAME == name);
}
return null;
}
public void CheckEquipTable(String equip){
String[] columns = new String[]{KEY_EQUIP};
ContentValues cv = new ContentValues();
Cursor check = ourDatabase.query(DATABASE_EQUIP_TABLE, columns, KEY_EQUIP + "='" + equip + "'", null, null, null, null);
if(check == null){
cv.put(KEY_EQUIP, equip);
ourDatabase.insert(DATABASE_EQUIP_TABLE, null, cv);
}
}