0

How to pass First Table Id to Second Table for inserting multiple record in Second Table for 1 Employee

For Example in FIRST_TABLE 1 Employee with some Personal details now in SECOND_TABLE Employee having more data with more rows
for identify i want to pass Table id in Second_table. Can any one help me,

Thanks in advance..

Here is My Database Code

TABLE_NAME_FARMER_SYNC = FIRST_TABLE

TABLE_NAME_ANIMAL_SYNC = SECOND_TABLE

        db.execSQL("create table " + TABLE_NAME_FARMER_SYNC + "(NEW_INSURANCE_ID INTEGER PRIMARY KEY AUTOINCREMENT,INSURANCE_ID TEXT,INSURED_NAME TEXT,BANKHYPO_NAME TEXT,FARMER_NAME TEXT,VILLAGE TEXT,TALUKA TEXT,DISTRICT TEXT,TAGGING_DATE DATE)");


        db.execSQL("create table " + TABLE_NAME_ANIMAL_SYNC + "(NEW_ANIMAL_ID INTEGER PRIMARY KEY AUTOINCREMENT,FARMER_ID INT,TAG_NO TEXT,ANIMAL_EAR_POSITION TEXT,ANIMAL_SPECIES TEXT,ANIMAL_BREED TEXT,ANIMAL_BODY_COLOR TEXT,ANIMAL_SHAPE_RIGHT TEXT,ANIMAL_SHAPE_LEFT TEXT,ANIMAL_SWITCH_OF_TAIL TEXT,AGE_YEARS NUMBER,ANIMAL_OTHER_MARKS NUMBER,PRAG_STATUS NUMBER,NUMBER_OF_LACTATION NUMBER,CURRENT_MILK NUMBER,SUM_INSURED NUMBER,TAG_IMAGE BLOB NOT NULL,HEAD_IMAGE BLOB NOT NULL,LEFT_SIDE_IMAGE BLOB NOT NULL,RIGHT_SIDE_IMAGE BLOB NOT NULL,TAIL_IMAGE BLOB NOT NULL,IDPROOF_IMAGE BLOB NOT NULL)");

Here I want to Pass NEW_INSURANCE_ID which is AUTO INCREMENT in SECOND_TABEL As FARMER_ID.

Insert Data in FirstTable

 public boolean addFarmerName(String insurance_id, String insurename, String bankhypo, String farmername, String village, String taluka, String district, String tagging_date) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();

        contentValues.put(INSURANCE_ID, insurance_id);
        contentValues.put(INSURED_COLUMN, insurename);
        contentValues.put(BNAKHYPO_COLUMN, bankhypo);
        contentValues.put(FARMERNAME_COLUMN, farmername);
        contentValues.put(VILLAGE_COLUMN, village);
        contentValues.put(TALUKA_COLUMN, taluka);
        contentValues.put(DISTRICT_COLUMN, district);
        contentValues.put(TAGGING_DATE_COLUMN, tagging_date);


        db.insert(TABLE_NAME_FARMER_SYNC, null, contentValues);
        db.close();
        return true;
    }

Insert Data in Second Table

public boolean addAnimalsName(String tag, long farmer_id, String ear_position, String animal_species, String animal_breeds, String animal_body_color, String shape_right, String shape_left, String tail, String age, String marks_other, String prag, String lactation, String current_milk, String sum, byte[] tag_image, byte[] head_image, byte[] left_image, byte[] right_image, byte[] tail_image, byte[] id_proof_image) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();


        contentValues.put(TAG_COLUMN, tag);
        contentValues.put(FARMER_ID, farmer_id);
        contentValues.put(ANIMAL_EAR_POSITION_COLUMN, ear_position);
        contentValues.put(ANIMAL_SPECIES_COLUMN, animal_species);
        contentValues.put(ANIMAL_BREED_COLUMN, animal_breeds);
        contentValues.put(ANIMAL_BODY_COLOR_COLUMN, animal_body_color);
        contentValues.put(ANIMAL_SHAPE_RIGHT_COLUMN, shape_right);
        contentValues.put(ANIMAL_SHAPE_LEFT_COLUMN, shape_left);
        contentValues.put(ANIMAL_SWITCH_OF_TAIL_COLUMN, tail);
        contentValues.put(AGE_COLUMN, age);
        contentValues.put(ANIMAL_OTHER_MARKS_COLUMN, marks_other);
        contentValues.put(PRAG_STATUS_COLUMN, prag);
        contentValues.put(NUMBER_OF_LACTATION_COLUMN, lactation);
        contentValues.put(CURRENT_MILK_COLUMN, current_milk);
        contentValues.put(SUM_INSURED_COLUMN, sum);
        contentValues.put(TAG_IMAGE_COLUMN, tag_image);
        contentValues.put(HEAD_IMAGE_COLUMN, head_image);
        contentValues.put(LEFT_SIDE_IMAGE_COLUMN, left_image);
        contentValues.put(RIGHT_SIDE_IMAGE_COLUMN, right_image);
        contentValues.put(TAIL_IMAGE_COLUMN, tail_image);
        contentValues.put(IDPROOF_IMAGE_COLUMN, id_proof_image);


        db.insert(TABLE_NAME_ANIMAL_SYNC, null, contentValues);
        db.close();
        return true;
    }

First Activity Code

 private void addDataInTable() {
        boolean insertData = databaseHelper.addFarmerName(id, bank_insured, bank_hypo, editTextFarmerName.getText().toString() + "", editTextVillage.getText().toString() + "", editTextTaluka.getText().toString() + "",
                editTextDistrict.getText().toString() + "", editTextTaggingDate.getText().toString() + "");


        if (insertData) {
            Toast.makeText(context, "Data Save Successfully in SQLite Database", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(context, "Data Not Save in SQLite Database", Toast.LENGTH_SHORT).show();
        }

    }

Second Activity Code

 private void addDataInTable(byte[] NewEntryImg1, byte[] NewEntryImg2,
                                byte[] NewEntryImg3, byte[] NewEntryImg4, byte[] NewEntryImg5,
                                byte[] NewEntryImg6) {
        boolean insertData = databaseHelper.addAnimalsName(tag_no, tag1_id, ear_position, animal_species, animal_breed, body_color, shape_right, shape_left,
                tail_switch, age, other_marks, prag_status, lactations, milk_qty, sum_insured
                , NewEntryImg1, NewEntryImg2, NewEntryImg3, NewEntryImg4, NewEntryImg5, NewEntryImg6);


        if (insertData) {
            Toast.makeText(context, "Data Save Successfully in SQLite Database", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(context, "Data Not Save in SQLite Database", Toast.LENGTH_SHORT).show();
        }

    }
  • first addFarmerName () which returns your insurance_id and then startActivityForResult(for second activity) pass data in bundle and then get id using getIntent() then insert data in scond table – Vij Feb 25 '19 at 05:39
  • @Vij can you type in my code pls – Manav Isarani Feb 25 '19 at 05:40

1 Answers1

0
 public int addFarmerName(String insurance_id, String insurename, String bankhypo, 
       String farmername, String village, String taluka, String district, String 
tagging_date) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues contentValues = new ContentValues();

    contentValues.put(INSURANCE_ID, insurance_id);
    contentValues.put(INSURED_COLUMN, insurename);
    contentValues.put(BNAKHYPO_COLUMN, bankhypo);
    contentValues.put(FARMERNAME_COLUMN, farmername);
    contentValues.put(VILLAGE_COLUMN, village);
    contentValues.put(TALUKA_COLUMN, taluka);
    contentValues.put(DISTRICT_COLUMN, district);
    contentValues.put(TAGGING_DATE_COLUMN, tagging_date);


    db.insert(TABLE_NAME_FARMER_SYNC, null, contentValues);
    db.close();
    return insurance_id;
}

then First Activity Code

 private void addDataInTable() {
    int insuranceId = databaseHelper.addFarmerName(id, bank_insured, bank_hypo, editTextFarmerName.getText().toString() + "", editTextVillage.getText().toString() + "", editTextTaluka.getText().toString() + "",
            editTextDistrict.getText().toString() + "", editTextTaggingDate.getText().toString() + "");


    if (insuranceId != 0) {
         Intent i = new Intent(this, SecondActivity.class);
       i.putExtra("id",insuranceId);
       startActivityForResult(i, 1);
    } else {
        Toast.makeText(context, "Data Not Save in SQLite Database", Toast.LENGTH_SHORT).show();
    }

}

in Second Activity

   int id = getIntent().getStringExtra("id");

then

         for(int count =0 ;count<animalList.size();count++){
           boolean insertData = databaseHelper.addAnimalsName(tag_no, id, ear_position, 
    animal_species, animal_breed, body_color, shape_right, shape_left,
            tail_switch, age, other_marks, prag_status, lactations, milk_qty, 
  sum_insured, NewEntryImg1, NewEntryImg2, NewEntryImg3, NewEntryImg4, NewEntryImg5, 
   NewEntryImg6);
   }


     if (insertData) {

           Toast.makeText(context, "Data Save Successfully in SQLite Database", 
       Toast.LENGTH_SHORT).show();
      Intent returnIntent = new Intent();
      returnIntent.putExtra("result",result);
      setResult(Activity.RESULT_OK,returnIntent);
   finish(); 
    } else {
        Toast.makeText(context, "Data Not Save in SQLite Database", Toast.LENGTH_SHORT).show();
    }

Now in FirstActivity

    @Override
   protected void onActivityResult(int requestCode, int resultCode, Intent data) {

  if (requestCode == 1) {
    if(resultCode == Activity.RESULT_OK){
        String result=data.getStringExtra("result");
        //success msg
    }
    if (resultCode == Activity.RESULT_CANCELED) {
        //Write your code if there's no result
    }
}

}//o

Vij
  • 445
  • 2
  • 9
  • I want to Pass From FIRST_TABLE NEW_INSURANCE_ID which is AUTO INCREMENT in SECOND_TABLE As FARMER_ID. – Manav Isarani Feb 25 '19 at 06:10
  • so you no need to pass just pass FARMER_ID INT AUTOINCREMENT in table or if you want get farmer more records from animal table then pass FARMER_ID varchar () in table and add prefix (your old ins id ) ex. NEW_1 like this, and when you fetch records then remove prefix. – Vij Feb 25 '19 at 06:30
  • you didnt understand my question yet – Manav Isarani Feb 25 '19 at 06:38
  • Here 1 farmer is there and they many Animals so in First_Table Farmer name and details and In Second_Table All animals details with multiple row – Manav Isarani Feb 25 '19 at 06:39
  • ok so you want add muliple animal records with same id right?? – Vij Feb 25 '19 at 07:05
  • ex. insurace_id = 1, in first table then now second table you must pass (ins id=1) for fetching particular farmer animals – Vij Feb 25 '19 at 07:09
  • bro did you saw this https://stackoverflow.com/questions/1609637/is-it-possible-to-insert-multiple-rows-at-a-time-in-an-sqlite-database/1609688#1609688 – Vij Feb 25 '19 at 09:10
  • add mutiple raws at time – Vij Feb 25 '19 at 09:10