#sqlite #android-studio
Вопрос:
я хочу автоматически вставить или поместить booklet_id в свою демографическую таблицу в качестве внешнего ключа. что делает мое приложение, так это то, что я вставляю bookletinfo один раз, затем демографические данные повторяются, например, у меня есть 1 строка данных в информации о буклете с идентификатором 1, затем в демографии у меня есть 5 строк данных, в которых внешние ключи равны 1. затем при следующем вводе в bookletinfo следующая вставка во внешний ключ демографии-2 #создать таблицу
` public void onCreate(SQLiteDatabase db) {
String bookletinfo = "CREATE TABLE bookletinfo ( booklet_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, type VARCHAR NOT NULL, province VARCHAR NOT NULL, citymunicipality NOT NULL, barangay VARCHAR NOT NULL, address VARCHAR NOT NULL, respondent_name VARCHAR NOT NULL, household_head VARCHAR NOT NULL, hh_mem_count INTEGER NOT NULL, created_at DATETIME NOT NULL, updated_at TIMESTAMP)";
String demographiccharacteristics = "CREATE TABLE demographiccharacteristics (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, Q1 VARCHAR , Q2 VARCHAR , Q3 VARCHAR , Q4 INTEGER , Q5 DATE , Q6 VARCHAR , Q7 VARCHAR , Q8 VARCHAR , Q9 VARCHAR , Q10 VARCHAR , Q11 VARCHAR , Q12 VARCHAR , Q13 VARCHAR , Q14 VARCHAR , currentbrgy VARCHAR , created_at TIMESTAMP , updated_at TIMESTAMP,booklet_id INTEGER, FOREIGN KEY(booklet_id) REFERENCES bookletinfo(booklet_id))";
}
#insert
public boolean addBooklet(
String type1,String province,String municipality,String barangay, String address,String nameofrespondent, String householdhead, String householdtotal, String date,String updated_at) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("type",type1);
contentValues.put("province",province);
contentValues.put("citymunicipality",municipality);
contentValues.put("barangay",barangay);
contentValues.put("address",address);
contentValues.put("respondent_name",nameofrespondent);
contentValues.put("household_head",householdhead);
contentValues.put("hh_mem_count", householdtotal);
contentValues.put("created_at", date);
contentValues.put("updated_at", updated_at);
db.insert("bookletinfo",null,contentValues);
return true;}
public boolean addDemographic(String etQ1,String etQ2,String etQ3,String etQ4,String etQ5,String etQ6,String etQ7,String etQ8,String etQ9,String etQ10,String etQ11,String etQ12,String etQ13,String etQ14, String etbrgy,String created_at) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("Q1",etQ1);
contentValues.put("Q2",etQ2);
contentValues.put("Q3",etQ3);
contentValues.put("Q4",etQ4);
contentValues.put("Q5",etQ5);
contentValues.put("Q6",etQ6);
contentValues.put("Q7", etQ7);
contentValues.put("Q8",etQ8);
contentValues.put("Q9",etQ9);
contentValues.put("Q10",etQ10);
contentValues.put("Q11",etQ11);
contentValues.put("Q12",etQ12);
contentValues.put("Q13",etQ13);
contentValues.put("Q14", etQ14);
contentValues.put("currentbrgy",etbrgy);
contentValues.put("created_at",created_at);
db.insert("demographiccharacteristics",null,contentValues);
return true;
}
`