Android的 - 内容价值超过写现有的行 [英] Android - Content Values over writing existing rows
问题描述
我想插入使用 ContentValues
的价值观,我插5值5列我运行应用程序之后,我只有一行最后一组 ContentValues的值
。前四个组将不插入。
ContentValues CV =新ContentValues();
cv.put(名,CS科技);
cv.put(姓名,维布络);
cv.put(姓名,TCS);
cv.put(姓名,Infosys公司);
cv.put(姓名,认识到); cv.put(邮件,joe@info.com);
cv.put(邮件,bru@wipro.com);
cv.put(邮件,jen@tcs.com);
cv.put(邮件,ram@infosys.com);
cv.put(邮件,cts@cts.com); cv.put(接触,180 151 2010);
cv.put(接触,180 151 2011);
cv.put(接触,180 151 2012);
cv.put(接触,180 151 2013);
cv.put(接触,180 151 2014年); cv.put(日期,2011年7月27日);
cv.put(日期,2011年7月27日);
cv.put(日期,2011年7月27日);
cv.put(日期,2011年7月27日);
cv.put(日期,2011年7月27日); this.db.insert(TABLE_NAME,名,CV);
这也就不难理解, ContentValues
是某种哈希表,这意味着,这peice的的code
cv.put(名,CS科技);
cv.put(姓名,维布络);
cv.put(姓名,TCS);
cv.put(姓名,Infosys公司);
cv.put(姓名,认识到);
最终覆盖价值与关键=名的4倍,并将其命名为终于得到最后一个值!
对于这个工作,你应该做的顺序是这样的:
ContentValues CV =新ContentValues();
cv.put(名,CS科技);
cv.put(邮件,joe@info.com);
cv.put(接触,180 151 2010);
cv.put(日期,2011年7月27日); this.db.insert(TABLE_NAME,名,CV); cv.put(姓名,维布络);
cv.put(邮件,bru@wipro.com);
cv.put(接触,180 151 2011);
cv.put(日期,2011年7月27日); this.db.insert(TABLE_NAME,名,CV); cv.put(姓名,TCS);
cv.put(邮件,jen@tcs.com);
cv.put(接触,180 151 2012);
cv.put(日期,2011年7月27日); this.db.insert(TABLE_NAME,名,CV); cv.put(姓名,Infosys公司);
cv.put(邮件,ram@infosys.com);
cv.put(接触,180 151 2013);
cv.put(日期,2011年7月27日); this.db.insert(TABLE_NAME,名,CV); cv.put(姓名,认识到);
cv.put(邮件,cts@cts.com);
cv.put(接触,180 151 2014年);
cv.put(日期,2011年7月27日); this.db.insert(TABLE_NAME,名,CV);
I'm trying to insert values using ContentValues
, I've inserted 5 values to 5 columns After I run the application, I've only the row with last set of values of ContentValues
. The first four set is not inserted.
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);
It is not hard to understand that ContentValues
is some kind of a hashtable which implies that this peice of code
cv.put("name", "Cs Tech");
cv.put("name", "Wipro");
cv.put("name", "TCS");
cv.put("name", "Infosys");
cv.put("name", "Cognizant");
is ultimately overwriting the Value with key="name" 4 times and name is finally getting the last value!
For this to work, you should do it sequentially like this:
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);
这篇关于Android的 - 内容价值超过写现有的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!