Как передать TABLE ID AUTO_INCREMENT в другую таблицу из нескольких источников, используя SQLite в Android - PullRequest
0 голосов
/ 25 февраля 2019

Как передать идентификатор первой таблицы во вторую таблицу для вставки нескольких записей во вторую таблицу для 1 сотрудника

Например, в FIRST_TABLE 1 Сотрудник с некоторыми личными данными теперь в SECOND_TABLE Сотрудник, имеющий больше данных с большим количеством строк
для идентификации я хочу передать идентификатор таблицы в Second_table.Может ли кто-нибудь помочь мне,

Заранее спасибо ..

Вот мой код базы данных

TABLE_NAME_FARMER_SYNC = FIRST_TABLE

TABLE_NAME_ANIMAL_SYNC = SECOND_TABLE

1013 *

Здесь я хочу передать NEW_INSURANCE_ID, равный AUTO INCREMENT в SECOND_TABEL, как FARMER_ID.

Вставить данные в 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;
    }

Вставить данные во вторую таблицу

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;
    }

Первый код активности

 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();
        }

    }

Второй код активности

 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();
        }

    }

1 Ответ

0 голосов
/ 25 февраля 2019
 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;
}

затем код первой активности

 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();
    }

}

во второй операции

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

затем

         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();
    }

теперь в 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
    }
}

} // о

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...