Я искал это, но до сих пор я не нашел ответа - я пытаюсь создать базу данных SQLite с некоторыми примерами данных для своего приложения.Вставка записей в базу данных Sqlite из массивов
Когда я делаю одиночную закодированную запись, она работает, но я хочу записать около 10 записей и пыталась использовать массивы для хранения данных. Вот код, который я использую для создания массивов
String cattleid[]={"ID 01","ID 02","ID 03", "ID 04", "ID 05", "ID 06","ID 07","ID 09", "ID 10", "ID 11"};
String eartag[]={"01","02","03", "04", "05", "06","07","09", "10","11"};
String location[]={"East","East","East", "Hwy 16", "Hwy 16", "Pen 1","Pen 2","West", "West","East"};
String status[]={"A","A","A", "A", "A", "A","F","F", "F","A"};
String typeofanimal[]={"B","C","C", "C", "H", "S","S","A", "A","H"};
String sex[]={"M","F","F", "F", "F", "M","M","M", "F","F"};`
My For-ENDFOR приходит следующий
'for(int i=1; i<11; i++){ Cattle cattlerecord = new Cattle(cattleid[i],eartag[i],location[i],status[i],typeofanimal[i],"","",sex[i],0,"Ranch_01");
Toast.makeText(AgBuildDatabases.this, cattleid[i], Toast.LENGTH_SHORT).show();
addCattle(cattlerecord);}'
mDatabase.setTransactionSuccessful();
тоста есть и это показывает cattleid увеличивающиеся правильно
public void addCattle(Cattle newCattle){ ContentValues values = new ContentValues(); values.put("animal_id", newCattle.mAnimal); values.put("eartag", newCattle.mEartag); values.put("location", newCattle.mLocation); values.put("status_of_animal", newCattle.mStatus); values.put("type_of_animal", newCattle.mTypeOfAnimal); values.put("dam", newCattle.mDam); values.put("sire",newCattle.mSire); values.put("sex", newCattle.mSex); values.put("current_weight",newCattle.mCurrent); values.put("ranch_id", newCattle.mRanchId); newCattle.mCattleId = mDatabase.insert("tbl_cattle", null, values); }
И это мой класс
class Cattle {
String mAnimal;
String mEartag;
String mLocation;
String mStatus;
String mTypeOfAnimal;
String mDam;
String mSire;
String mSex;
int mCurrent;
String mRanchId;
Long mCattleId;
public Cattle(String animalid, String eartag, String location, String statusofanimal, String typeofanimal, String dam, String sire, String sex, int currentweight, String ranchid){
mAnimal = animalid;
mEartag = eartag;
mLocation = location;
mStatus = statusofanimal;
mTypeOfAnimal = typeofanimal;
mDam = dam;
mSire = sire;
mSex = sex;
mCurrent = currentweight;
mRanchId = ranchid;
mCattleId = (long) -1;
}
}
Создание Таблица
rivate static final String CREATE_CATTLE_TABLE = "CREATE TABLE tbl_cattle (id INTEGER PRIMARY KEY AUTOINCREMENT ," + " animal_id TEXT," + " eartag TEXT, " + " location TEXT, " + " status_of_animal TEXT," + " type_of_animal TEXT," + " dam TEXT," + " sire TEXT," + " sex TEXT " + " current_weight INT, " + "ranch_id TEXT);";
Любые предложения будут оценены. Благодаря
Почему вы используете один и тот же идентификатор для всех записей? mCattleId = (long) -1 это не звучит правильно ... – JoxTraex
Опубликуйте свой оператор создания db. – JoxTraex
mCattleid = для автоинкрементные записей создания БД следующего частного статический окончательная Строка CREATE_CATTLE_TABLE = "CREATE TABLE tbl_cattle (ID INTEGER PRIMARY KEY AUTOINCREMENT," + \t \t \t "animal_id TEXT" + \t \t \t "eartag ТЕКСТ," + \t \t \t "в тексте," + \t \t \t "status_of_animal ТЕКСТ," + \t \t \t "type_of_animal ТЕКСТ,"\t \t \t "плотина ТЕКСТ," + \t \t \t "сир ТЕКСТ," + \t \t \t "секс ТЕКСТ" + \t \t \t "current_weight INT," + \t \t \t "ranch_id ТЕКСТ);"; – Hank