in asynctask read database table (one-by-one) this:
cursor result = database.query("country", new string[] { "_id", "name", "var1", "var2", "var3", "var4", "rightanswer", "time1", "time2", "time3" }, "_id=" + id, null, null, null, null); result.movetofirst(); then, print result.getcolumncount() , receive 10.
but when trying print data this:
system.out.println(result.getstring(result.getcolumnindex("name"))); system.out.println(result.getstring(result.getcolumnindex("var1"))); system.out.println(result.getstring(result.getcolumnindex("var2"))); system.out.println(result.getstring(result.getcolumnindex("var3"))); system.out.println(result.getstring(result.getcolumnindex("var4"))); system.out.println(result.getstring(result.getcolumnindex("rightanswer"))); system.out.println(result.getstring(result.getcolumnindex("time1"))); system.out.println(result.getstring(result.getcolumnindex("time2"))); system.out.println(result.getstring(result.getcolumnindex("time3"))); i receive error androidruntime(8279): fatal exception: asynctask #1
androidruntime(8279): caused by: java.lang.nullpointerexception but, when print 2 first columns,
system.out.println(result.getstring(result.getcolumnindex("name"))); system.out.println(result.getstring(result.getcolumnindex("var1"))); it's working.
i have no clue.
update:
string createquery = "create table country (_id integer primary key autoincrement,name, var1, var2,var3,var4,rightanswer, time1,time2,time3);"; db.execsql(createquery);
it seems value
result.getstring(result.getcolumnindex("var2")) returns null. can enter debug mode in ide , verify that.
another possibility don't have column named var2 in database. in case getcolumnindex return null.
if provide more information db schema can more.
Comments
Post a Comment