java - 将记录从数组插入到 Sqlite 数据库 (Android)

标签 java android 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"};` 

接下来是我的 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();    

Toast 就在那里,它显示cattleid 正确递增

public void addCattle(Cattle newCattle){ ContentValues 值 = new ContentValues(); value.put("animal_id", newCattle.mAnimal); value.put("eartag", newCattle.mEartag); value.put("位置", newCattle.mLocation); value.put("status_of_animal", newCattle.mStatus); value.put("type_of_animal", newCattle.mTypeOfAnimal); value.put("dam", newCattle.mDam); value.put("sire",newCattle.mSire); value.put("性别", newCattle.mSex); value.put("current_weight",newCattle.mCurrent); value.put("ranch_id", newCattle.mRanchId); newCattle.mCattleId = mDatabase.insert("tbl_cattle", null, 值); }

这是我的课

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);";

如有任何建议,我们将不胜感激。 谢谢

最佳答案

您在创建表代码中漏掉了一个逗号

“性文本” 应该 “性别文本,”

尝试一下。

关于java - 将记录从数组插入到 Sqlite 数据库 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8978624/

相关文章:

java - 导出的 JAR 无法读取图像

android - 检测从 0 度到 180 度或 90 度到 270 度的屏幕旋转的正确方法是什么?

javascript - 从 HTML5 android 调用电话号码

pandas - 动态导入 csv 并将其映射到 sqlalchemy

java - 用 Java 重新创建扫描仪

java - 如何创建动态多维ArrayList?

java - Hibernate一级缓存及get方法

android - Edittext输入类型密码,清除焦点android后不隐藏文本

python - 如何在sqlite3中同时搜索多个表?

python - 当查询以注释开始时,python 的 sqlite3 中的隐式提交