我正在尝试使用ContentValues
插入值,我已经将5个值插入到5列中运行应用程序后,我只有最后一组值为ContentValues
的行。未插入前四个。
ContentValues cv = new ContentValues();
cv.put("name", "Cs Tech");
cv.put("name", "Wipro");
cv.put("name", "TCS");
cv.put("name", "Infosys");
cv.put("name", "Cognizant");
cv.put("mail", "joe@info.com");
cv.put("mail", "bru@wipro.com");
cv.put("mail", "jen@tcs.com");
cv.put("mail", "ram@infosys.com");
cv.put("mail", "cts@cts.com");
cv.put("contact", "180 151 2010");
cv.put("contact", "180 151 2011");
cv.put("contact", "180 151 2012");
cv.put("contact", "180 151 2013");
cv.put("contact", "180 151 2014");
cv.put("date", "27 Jul 2011");
cv.put("date", "27 Jul 2011");
cv.put("date", "27 Jul 2011");
cv.put("date", "27 Jul 2011");
cv.put("date", "27 Jul 2011");
this.db.insert(TABLE_NAME, "name", cv);
答案 0 :(得分:8)
不难理解ContentValues
是某种哈希表,意味着这段代码
cv.put("name", "Cs Tech");
cv.put("name", "Wipro");
cv.put("name", "TCS");
cv.put("name", "Infosys");
cv.put("name", "Cognizant");
最终用key =“name”4次覆盖Value,名字终于得到最后一个值了!
要使其正常工作,您应该按顺序执行此操作:
ContentValues cv = new ContentValues();
cv.put("name", "Cs Tech");
cv.put("mail", "joe@info.com");
cv.put("contact", "180 151 2010");
cv.put("date", "27 Jul 2011");
this.db.insert(TABLE_NAME, "name", cv);
cv.put("name", "Wipro");
cv.put("mail", "bru@wipro.com");
cv.put("contact", "180 151 2011");
cv.put("date", "27 Jul 2011");
this.db.insert(TABLE_NAME, "name", cv);
cv.put("name", "TCS");
cv.put("mail", "jen@tcs.com");
cv.put("contact", "180 151 2012");
cv.put("date", "27 Jul 2011");
this.db.insert(TABLE_NAME, "name", cv);
cv.put("name", "Infosys");
cv.put("mail", "ram@infosys.com");
cv.put("contact", "180 151 2013");
cv.put("date", "27 Jul 2011");
this.db.insert(TABLE_NAME, "name", cv);
cv.put("name", "Cognizant");
cv.put("mail", "cts@cts.com");
cv.put("contact", "180 151 2014");
cv.put("date", "27 Jul 2011");
this.db.insert(TABLE_NAME, "name", cv);
答案 1 :(得分:2)
接近这一点的最佳方法是,插入列的所有值,然后继续下一个
例如:
cv.put("name", "gautam");
cv.put("id", "cse08119");
cv.put("country", "tamilnadu");
cv.put("city", "coimbatore");
cv.put("pin", "636213");
然后现在插入值..
您可以使用while循环和数组......
例如:
cv.put("name",namearray[i]);
cv.put("id",id[i]);
cv.put("country", countryname[i]);
cv.put("city",countryarray[i]);
cv.put("pin", pincode[i]);
循环时直到它到达数组的末尾!
答案 2 :(得分:0)
ContentValues cv = new ContentValues();
cv.put("name", "Cs Tech");
cv.put("mail", "joe@info.com");
cv.put("contact", "180 151 2010");
cv.put("date", "27 Jul 2011");
this.db.insert(TABLE_NAME, "name", cv);
像这样你必须在你的表中插入另外5行。你做的是 - 将值放在ContentValues中5次。所以它在插入表之前需要最后一个条目。你必须写5个这样的插入语句我想你现在明白了