java - Fatal exception when reading data from cursor from SQLite -


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