android - Error when saving to sqlite database -


my error log

    06-05 05:56:04.502: d/healthlylifestyleappmain(278): opened db in oncreate     06-05 05:56:04.522: d/healthlylifestyleappmain(278): loading db contents: 29 items     06-05 05:56:04.541: d/healthlylifestyleappmain(278): loading db contents: 0 items     06-05 05:56:04.541: d/healthlylifestyleappmain(278): closed db in oncreate             06-05 05:56:06.451: d/healthlylifestyleappmain(278): opened db in onpause     06-05 05:56:06.532: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef2888     06-05 05:56:06.551: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef2948     06-05 05:56:06.571: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef29c0     06-05 05:56:06.591: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef2a38     06-05 05:56:06.611: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef2ab0     06-05 05:56:06.621: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef2b28     06-05 05:56:06.641: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef2ba0     06-05 05:56:06.661: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef2c18     06-05 05:56:06.681: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef2c90     06-05 05:56:06.701: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef2d08     06-05 05:56:06.721: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef2d80     06-05 05:56:06.751: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef2df8     06-05 05:56:06.761: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef2e70     06-05 05:56:06.771: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef2f48     06-05 05:56:06.822: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef2fc0     06-05 05:56:06.831: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef3038     06-05 05:56:06.875: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef30b0     06-05 05:56:06.892: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef3128     06-05 05:56:06.901: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef31a0     06-05 05:56:06.912: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef3298     06-05 05:56:06.931: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef3310     06-05 05:56:06.961: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef3388     06-05 05:56:06.971: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef3400     06-05 05:56:06.981: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef3478     06-05 05:56:06.991: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef34f0     06-05 05:56:07.021: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef3568     06-05 05:56:07.051: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef35e0     06-05 05:56:07.062: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef3658     06-05 05:56:07.071: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44ef3788     06-05 05:56:07.081: d/healthylifestyleappmain(278): saved item: sg.edu.tp.iit.mns.logitem@44f1ee10     06-05 05:56:07.111: d/healthlylifestyleappmain(278): closed db in onpause     06-05 05:56:15.462: d/dalvikvm(278): gc_for_malloc freed 4966 objects / 257248 bytes in 118ms     06-05 05:56:59.081: w/keycharactermap(278): no keyboard id 0     06-05 05:56:59.081: w/keycharactermap(278): using default keymap: /system/usr/keychars/qwerty.kcm.bin     06-05 05:57:38.452: i/database(278): sqlite returned: error code = 1, msg = table fruittable has no column named _fruitcalorie     06-05 05:57:38.552: e/database(278): error inserting _fruitname=apple _fruitnum=2 _fruitcalorie=160     06-05 05:57:38.552: e/database(278): android.database.sqlite.sqliteexception: table fruittable has no column named _fruitcalorie: , while compiling: insert fruittable(_fruitname, _fruitnum, _fruitcalorie) values(?, ?, ?);     06-05 05:57:38.552: e/database(278):    @ android.database.sqlite.sqlitecompiledsql.native_compile(native method)     06-05 05:57:38.552: e/database(278):    @ android.database.sqlite.sqlitecompiledsql.compile(sqlitecompiledsql.java:91)     06-05 05:57:38.552: e/database(278):    @ android.database.sqlite.sqlitecompiledsql.<init>(sqlitecompiledsql.java:64)     06-05 05:57:38.552: e/database(278):    @ android.database.sqlite.sqliteprogram.<init>(sqliteprogram.java:80)     06-05 05:57:38.552: e/database(278):    @ android.database.sqlite.sqlitestatement.<init>(sqlitestatement.java:36)     06-05 05:57:38.552: e/database(278):    @ android.database.sqlite.sqlitedatabase.compilestatement(sqlitedatabase.java:1145)     06-05 05:57:38.552: e/database(278):    @ android.database.sqlite.sqlitedatabase.insertwithonconflict(sqlitedatabase.java:1536)     06-05 05:57:38.552: e/database(278):    @ android.database.sqlite.sqlitedatabase.insert(sqlitedatabase.java:1410)     06-05 05:57:38.552: e/database(278):    @ sg.edu.tp.iit.mns.fruitdb.createentry(fruitdb.java:74)     06-05 05:57:38.552: e/database(278):    @ sg.edu.tp.iit.mns.fruit$3$1.launchintent2(fruit.java:133)     06-05 05:57:38.552: e/database(278):    @ sg.edu.tp.iit.mns.fruit$3$1.onclick(fruit.java:120)     06-05 05:57:38.552: e/database(278):    @ com.android.internal.app.alertcontroller$buttonhandler.handlemessage(alertcontroller.java:158)     06-05 05:57:38.552: e/database(278):    @ android.os.handler.dispatchmessage(handler.java:99)     06-05 05:57:38.552: e/database(278):    @ android.os.looper.loop(looper.java:123)     06-05 05:57:38.552: e/database(278):    @ android.app.activitythread.main(activitythread.java:4627)     06-05 05:57:38.552: e/database(278):    @ java.lang.reflect.method.invokenative(native method)     06-05 05:57:38.552: e/database(278):    @ java.lang.reflect.method.invoke(method.java:521)     06-05 05:57:38.552: e/database(278):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:868)     06-05 05:57:38.552: e/database(278):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:626)     06-05 05:57:38.552: e/database(278):    @ dalvik.system.nativestart.main(native method) 

my java file

    public class fruit extends activity implements onclicklistener, onitemselectedlistener { private textview tvfruit, tvno,tvtotal; context context=this;    @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);      //for fullscreen view     requestwindowfeature(window.feature_no_title);     getwindow().setflags(windowmanager.layoutparams.flag_fullscreen,windowmanager.layoutparams.flag_fullscreen);     setcontentview(r.layout.fruit);      tvfruit = (textview) findviewbyid(r.id.tvfruit);     tvno = (textview) findviewbyid(r.id.tvno);     tvtotal = (textview)findviewbyid(r.id.tvtotal);       final spinner fruits = (spinner)findviewbyid(r.id.spin_fruit);     arrayadapter<charsequence> adapter = arrayadapter.createfromresource(             this,r.array.fruits,android.r.layout.simple_spinner_item);     adapter.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item);     fruits.setadapter(adapter);     fruits.setonitemselectedlistener(this);      fruits.setonitemselectedlistener(new onitemselectedlistener(){     public void onitemselected(adapterview<?> arg0, view arg1, int arg2,     long arg3) {             // todo auto-generated method stub             string selecteditem = fruits.getselecteditem().tostring();             tvfruit.settext(selecteditem);           }       public void onnothingselected(adapterview<?> arg0) {         // todo auto-generated method stub      }      });      final spinner num = (spinner)findviewbyid(r.id.spin_no);     arrayadapter<charsequence> adapter1 = arrayadapter.createfromresource(             this,r.array.total,android.r.layout.simple_spinner_item);     adapter1.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item);     num.setadapter(adapter1);     num.setonitemselectedlistener(this);      num.setonitemselectedlistener(new onitemselectedlistener(){         public void onitemselected(adapterview<?> arg0, view arg1, int arg2,         long arg3) {                 // todo auto-generated method stub                 string selecteditem = num.getselecteditem().tostring();                 tvno.settext(selecteditem);                 tvtotal.settext(string.valueof(calculatecalories()));             }          public int calculatecalories() {             int[] calorie = getresources().getintarray(r.array.calorie);             return integer.parseint((string) num.getselecteditem()) * calorie[fruits.getselecteditemposition()];         }            public void onnothingselected(adapterview<?> arg0) {             // todo auto-generated method stub          }          });      button save = (button) findviewbyid(r.id.bsave);     save.settextcolor(color.blue);     save.setonclicklistener(new view.onclicklistener() {               public void onclick(view arg0) {                 // todo auto-generated method stub                 // subject details , show in alertdialog                 alertdialog.builder builder = new alertdialog.builder(context);                 builder.setmessage("success");                 builder.setpositivebutton("ok", new dialoginterface.onclicklistener() {                      public void onclick(dialoginterface dialog, int which) {                         // todo auto-generated method stub                         launchintent2();                     }                      private void launchintent2() {                         // todo auto-generated method stub                          try{                         string fruit =tvfruit.gettext().tostring();                         string number =tvno.gettext().tostring();                         string calorie =tvtotal.gettext().tostring();                          fruitdb entry = new fruitdb(fruit.this);                         entry.open();                         entry.createentry(fruit, number, calorie);                         entry.close();                         }                         catch(exception e){                          }                     }                 });                   builder.setnegativebutton("view log", new dialoginterface.onclicklistener(){                      public void onclick(dialoginterface dialog, int which) { // part done negative button                                                                               // if want link new intent                         launchintent();                     }                  });                 builder.create().show();             }              //making "view log" button in dialog box go new intent fruitlog.class             private void launchintent(){                 intent = new intent(fruit.this, fruitlog.class);                 i.addflags(intent.flag_activity_clear_top);                 startactivity(i);             }           });      } 

my database file:

 public class fruitdb extends activity{  public static final string key_rowid = "_id"; public static final string key_name = "_fruitname"; public static final string key_number = "_fruitnum"; public static final string key_calorie = "_fruitcalorie";  private static final string database_name = "fruitdb"; private static final string database_table = "fruittable"; private static final int database_version = 1;  private dbhelper newhelper; private final context ourcontext1; private sqlitedatabase ourdatabase;  private static class dbhelper extends sqliteopenhelper{      public dbhelper(context context) {         super(context, database_name, null, database_version);         // todo auto-generated constructor stub     }         @override     public void oncreate(sqlitedatabase db) {         // todo auto-generated method stub         db.execsql("create table " + database_table + " (" +                      key_rowid + " integer primary key autoincrement, " +                     key_name + " text not null, " +                     key_number + " text not null, " +                     key_calorie + " text not null);"                  );     }      @override     public void onupgrade(sqlitedatabase db, int oldversion, int newversion) {         // todo auto-generated method stub         db.execsql("drop table if exists " + database_table);         oncreate(db);     }    }  public fruitdb(context c){     ourcontext1 = c; }  public fruitdb open()throws sqlexception{     newhelper = new dbhelper(ourcontext1);     ourdatabase = newhelper.getwritabledatabase();     return this; }  public void close(){     newhelper.close(); }  public long createentry(string fruit, string number, string calorie) {     // todo auto-generated method stub     contentvalues cv = new contentvalues();     cv.put(key_name, fruit);     cv.put(key_number, number);     cv.put(key_calorie, calorie);     return ourdatabase.insert(database_table, null, cv);  }  public string getdata() {     // todo auto-generated method stub     string[] columns = new string[]{ key_rowid, key_name, key_number, key_calorie};     cursor c = ourdatabase.query(database_table, columns, null, null, null, null, null);     string result = "";      int irow = c.getcolumnindex(key_rowid);     int iname = c.getcolumnindex(key_name);     int irating = c.getcolumnindex(key_number);     int icalorie = c.getcolumnindex(key_calorie);      for(c.movetofirst(); !c.isafterlast(); c.movetonext()){         //result = result + c.getstring(irow) + " " + c.getstring(iname) + " " + c.getstring(irating) + " \n";         result = result + c.getstring(irow) + " " + c.getstring(iname) + " " + c.getstring(irating) + " " + c.getstring(icalorie) + " \n";                 }     return result; }    } 

im having error when tried insert total calorie database. before having total caloire, working. im unsure of error. please me out here.

if have updated table structure , added new column need uninstall application reinstall make effect of changes.

to uninstall goto settings->application->manage applications ->select app -> uninstall/cleardata


Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -