javascript - Always getting android.database.sqlite.SQLiteException: near "Time" when running SQLite -
javascript - Always getting android.database.sqlite.SQLiteException: near "Time" when running SQLite -
i have tried various advice on here regarding 'android.database.sqlite.sqliteexception'. still maintain getting error. every time seek run app crashes caused exception. have read every line 10 times , still cant find error. please help, appreciate it.
eventhandler class
package com.team11.healthdb; import java.util.arraylist; import java.util.list; import android.content.contentvalues; import android.content.context; import android.database.cursor; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; import android.util.log; public class eventhandler extends sqliteopenhelper { // database version private static final int database_version = 1; // database name private static final string database_name = "healthtracker"; public eventhandler(context context) { super(context, database_name, null, database_version); } // creating tables @override public void oncreate(sqlitedatabase db) { //sql statement create table_events string create_table_events = "create table table_events ( " + "key_id integer primary key autoincrement, " + "key_title text, " + "key_description text, " + "key_start integer, " + "key_end integer, " + "key_location text )"; // creates table_events db.execsql(create_table_events); } // upgrading database @override public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { // drop older table if existed db.execsql("drop table if exists table_events"); // creates fresh table this.oncreate(db); } //------------------------------------------------------------------------- /** * crud(create, read, update, delete) operations */ // events table name private static final string table_events = "events"; // events table columns names private static final string key_id = "id"; private static final string key_title = "title"; private static final string key_description = "description"; private static final string key_start = "start time"; private static final string key_end = "end time"; private static final string key_location = "location"; private static final string[] columns = {key_id,key_title,key_description,key_start,key_end,key_location}; // adding new contact public void addevent(event event) { log.d("addevent", event.tostring()); sqlitedatabase db = this.getwritabledatabase(); contentvalues values = new contentvalues(); values.put(key_title, event.gettitle()); // event title values.put(key_description, event.getdescription()); // event description values.put(key_start, event.getstart()); // event start time values.put(key_end, event.getend()); // event end time values.put(key_location, event.getlocation()); // event location // inserting row db.insert(table_events, null, values); db.close(); // closing database connection } // getting single event public event getevent(int id) { sqlitedatabase db = this.getreadabledatabase(); cursor cursor = db.query(table_events, columns, " key_id = ?", new string[] { string.valueof(id) }, null, null, null, null); if (cursor != null) cursor.movetofirst(); event event = new event(); event.setid(integer.parseint(cursor.getstring(0))); event.settitle(cursor.getstring(1)); event.setdescription(cursor.getstring(2)); event.setstart(integer.parseint(cursor.getstring(3))); event.setend(integer.parseint(cursor.getstring(4))); event.setlocation(cursor.getstring(5)); //log log.d("getevent("+id+")", event.tostring()); // homecoming contact homecoming event; } // getting events public list<event> getallevents() { list<event> events = new arraylist<event>(); // select query string query = "select * " + table_events; // reference writable db sqlitedatabase db = this.getwritabledatabase(); cursor cursor = db.rawquery(query, null); // go on each row, build book , add together list event event = null; if (cursor.movetofirst()) { { event = new event(); event.setid(integer.parseint(cursor.getstring(0))); event.settitle(cursor.getstring(1)); event.setdescription(cursor.getstring(2)); event.setstart(integer.parseint(cursor.getstring(3))); event.setend(integer.parseint(cursor.getstring(4))); event.setlocation(cursor.getstring(5)); // adding events list events.add(event); } while (cursor.movetonext()); } log.d("getallevents()", events.tostring()); // homecoming contact list homecoming events; } // updating single contact public int updateevent(event event) { sqlitedatabase db = this.getwritabledatabase(); contentvalues values = new contentvalues(); values.put("key_title", event.gettitle()); // event title values.put("key_description", event.getdescription()); // event description values.put("key_start", event.getstart()); // event start time values.put("key_end", event.getend()); // event end time values.put("key_location", event.getlocation()); // event location // updating row int = db.update(table_events, values, key_id + " = ?", new string[] { string.valueof(event.getid()) }); // close db db.close(); homecoming i; } // deleting single event public void deleteevent(event event) { sqlitedatabase db = this.getwritabledatabase(); // delete db.delete(table_events, key_id + " = ?", new string[] { string.valueof(event.getid()) }); // close db.close(); log.d("deleteevent", event.tostring()); } } mainactivity class
package com.team11.healthdb; import java.util.list; import android.support.v7.app.actionbaractivity; import android.os.bundle; import android.util.log; public class mainactivity extends actionbaractivity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); eventhandler db = new eventhandler(this); /** * crud operations * */ // inserting contacts log.d("insert: ", "inserting .."); db.addevent(new event("headache", "took medicine , had side effects", 1015, 1018, "bedroom")); db.addevent(new event("dizzy", "took medicine , had side effects", 1520, 1530, "asda")); db.addevent(new event("blackouts", "took medicine , had side effects", 1015, 1018, "tesco")); // books list<event> list = db.getallevents(); // delete 1 book db.deleteevent(list.get(0)); // books db.getallevents(); } } this error log:
class="snippet-code-css lang-css prettyprint-override">11-03 17:05:39.434: i/dalvikvm(1195): not find method android.view.viewgroup.onnestedscrollaccepted, referenced method android.support.v7.internal.widget.actionbaroverlaylayout.onnestedscrollaccepted 11-03 17:05:39.434: w/dalvikvm(1195): vfy: unable resolve virtual method 11388: landroid/view/viewgroup;.onnestedscrollaccepted (landroid/view/view;landroid/view/view;i)v 11-03 17:05:39.444: d/dalvikvm(1195): vfy: replacing opcode 0x6f @ 0x0000 11-03 17:05:39.444: i/dalvikvm(1195): not find method android.view.viewgroup.onstopnestedscroll, referenced method android.support.v7.internal.widget.actionbaroverlaylayout.onstopnestedscroll 11-03 17:05:39.444: w/dalvikvm(1195): vfy: unable resolve virtual method 11394: landroid/view/viewgroup;.onstopnestedscroll (landroid/view/view;)v 11-03 17:05:39.444: d/dalvikvm(1195): vfy: replacing opcode 0x6f @ 0x0000 11-03 17:05:39.474: i/dalvikvm(1195): not find method android.support.v7.internal.widget.actionbaroverlaylayout.stopnestedscroll, referenced method android.support.v7.internal.widget.actionbaroverlaylayout.sethideoncontentscrollenabled 11-03 17:05:39.474: w/dalvikvm(1195): vfy: unable resolve virtual method 8967: landroid/support/v7/internal/widget/actionbaroverlaylayout;.stopnestedscroll ()v 11-03 17:05:39.484: d/dalvikvm(1195): vfy: replacing opcode 0x6e @ 0x000e 11-03 17:05:39.534: i/dalvikvm(1195): not find method android.content.res.typedarray.getchangingconfigurations, referenced method android.support.v7.internal.widget.tinttypedarray.getchangingconfigurations 11-03 17:05:39.544: w/dalvikvm(1195): vfy: unable resolve virtual method 367: landroid/content/res/typedarray;.getchangingconfigurations ()i 11-03 17:05:39.544: d/dalvikvm(1195): vfy: replacing opcode 0x6e @ 0x0002 11-03 17:05:39.564: i/dalvikvm(1195): not find method android.content.res.typedarray.gettype, referenced method android.support.v7.internal.widget.tinttypedarray.gettype 11-03 17:05:39.574: w/dalvikvm(1195): vfy: unable resolve virtual method 389: landroid/content/res/typedarray;.gettype (i)i 11-03 17:05:39.574: d/dalvikvm(1195): vfy: replacing opcode 0x6e @ 0x0002 11-03 17:05:39.874: d/insert:(1195): inserting .. 11-03 17:05:39.874: d/addevent(1195): event [event id: 0, event title: headache, event description: took medicine , had side effects, start time: 1015, end time: 1018, location: bedroom] 11-03 17:05:40.114: e/sqlitelog(1195): (1) near "time": syntax error 11-03 17:05:40.154: e/sqlitedatabase(1195): error inserting end time=1018 start time=1015 location=bedroom description=took medicine , had side effects title=headache 11-03 17:05:40.154: e/sqlitedatabase(1195): android.database.sqlite.sqliteexception: near "time": syntax error (code 1): , while compiling: insert events(end time,start time,location,description,title) values (?,?,?,?,?) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.database.sqlite.sqliteconnection.nativepreparestatement(native method) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.database.sqlite.sqliteconnection.acquirepreparedstatement(sqliteconnection.java:889) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.database.sqlite.sqliteconnection.prepare(sqliteconnection.java:500) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.database.sqlite.sqlitesession.prepare(sqlitesession.java:588) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.database.sqlite.sqliteprogram.<init>(sqliteprogram.java:58) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.database.sqlite.sqlitestatement.<init>(sqlitestatement.java:31) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.database.sqlite.sqlitedatabase.insertwithonconflict(sqlitedatabase.java:1467) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.database.sqlite.sqlitedatabase.insert(sqlitedatabase.java:1339) 11-03 17:05:40.154: e/sqlitedatabase(1195): at com.team11.healthdb.eventhandler.addevent(eventhandler.java:79) 11-03 17:05:40.154: e/sqlitedatabase(1195): at com.team11.healthdb.mainactivity.oncreate(mainactivity.java:21) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.app.activity.performcreate(activity.java:5231) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.app.instrumentation.callactivityoncreate(instrumentation.java:1087) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.app.activitythread.performlaunchactivity(activitythread.java:2159) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.app.activitythread.handlelaunchactivity(activitythread.java:2245) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.app.activitythread.access$800(activitythread.java:135) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.app.activitythread$h.handlemessage(activitythread.java:1196) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.os.handler.dispatchmessage(handler.java:102) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.os.looper.loop(looper.java:136) 11-03 17:05:40.154: e/sqlitedatabase(1195): at android.app.activitythread.main(activitythread.java:5017) 11-03 17:05:40.154: e/sqlitedatabase(1195): at java.lang.reflect.method.invokenative(native method) 11-03 17:05:40.154: e/sqlitedatabase(1195): at java.lang.reflect.method.invoke(method.java:515) 11-03 17:05:40.154: e/sqlitedatabase(1195): at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:779) 11-03 17:05:40.154: e/sqlitedatabase(1195): at com.android.internal.os.zygoteinit.main(zygoteinit.java:595) 11-03 17:05:40.154: e/sqlitedatabase(1195): at dalvik.system.nativestart.main(native method) 11-03 17:05:40.164: d/addevent(1195): event [event id: 0, event title: dizzy, event description: took medicine , had side effects, start time: 1520, end time: 1530, location: asda] 11-03 17:05:40.264: e/sqlitelog(1195): (1) near "time": syntax error 11-03 17:05:40.294: e/sqlitedatabase(1195): error inserting end time=1530 start time=1520 location=asda description=took medicine , had side effects title=dizzy 11-03 17:05:40.294: e/sqlitedatabase(1195): android.database.sqlite.sqliteexception: near "time": syntax error (code 1): , while compiling: insert events(end time,start time,location,description,title) values (?,?,?,?,?) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.database.sqlite.sqliteconnection.nativepreparestatement(native method) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.database.sqlite.sqliteconnection.acquirepreparedstatement(sqliteconnection.java:889) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.database.sqlite.sqliteconnection.prepare(sqliteconnection.java:500) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.database.sqlite.sqlitesession.prepare(sqlitesession.java:588) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.database.sqlite.sqliteprogram.<init>(sqliteprogram.java:58) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.database.sqlite.sqlitestatement.<init>(sqlitestatement.java:31) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.database.sqlite.sqlitedatabase.insertwithonconflict(sqlitedatabase.java:1467) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.database.sqlite.sqlitedatabase.insert(sqlitedatabase.java:1339) 11-03 17:05:40.294: e/sqlitedatabase(1195): at com.team11.healthdb.eventhandler.addevent(eventhandler.java:79) 11-03 17:05:40.294: e/sqlitedatabase(1195): at com.team11.healthdb.mainactivity.oncreate(mainactivity.java:22) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.app.activity.performcreate(activity.java:5231) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.app.instrumentation.callactivityoncreate(instrumentation.java:1087) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.app.activitythread.performlaunchactivity(activitythread.java:2159) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.app.activitythread.handlelaunchactivity(activitythread.java:2245) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.app.activitythread.access$800(activitythread.java:135) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.app.activitythread$h.handlemessage(activitythread.java:1196) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.os.handler.dispatchmessage(handler.java:102) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.os.looper.loop(looper.java:136) 11-03 17:05:40.294: e/sqlitedatabase(1195): at android.app.activitythread.main(activitythread.java:5017) 11-03 17:05:40.294: e/sqlitedatabase(1195): at java.lang.reflect.method.invokenative(native method) 11-03 17:05:40.294: e/sqlitedatabase(1195): at java.lang.reflect.method.invoke(method.java:515) 11-03 17:05:40.294: e/sqlitedatabase(1195): at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:779) 11-03 17:05:40.294: e/sqlitedatabase(1195): at com.android.internal.os.zygoteinit.main(zygoteinit.java:595) 11-03 17:05:40.294: e/sqlitedatabase(1195): at dalvik.system.nativestart.main(native method) 11-03 17:05:40.294: d/addevent(1195): event [event id: 0, event title: blackouts, event description: took medicine , had side effects, start time: 1015, end time: 1018, location: tesco] 11-03 17:05:40.354: e/sqlitelog(1195): (1) near "time": syntax error 11-03 17:05:40.404: e/sqlitedatabase(1195): error inserting end time=1018 start time=1015 location=tesco description=took medicine , had side effects title=blackouts 11-03 17:05:40.404: e/sqlitedatabase(1195): android.database.sqlite.sqliteexception: near "time": syntax error (code 1): , while compiling: insert events(end time,start time,location,description,title) values (?,?,?,?,?) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.database.sqlite.sqliteconnection.nativepreparestatement(native method) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.database.sqlite.sqliteconnection.acquirepreparedstatement(sqliteconnection.java:889) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.database.sqlite.sqliteconnection.prepare(sqliteconnection.java:500) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.database.sqlite.sqlitesession.prepare(sqlitesession.java:588) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.database.sqlite.sqliteprogram.<init>(sqliteprogram.java:58) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.database.sqlite.sqlitestatement.<init>(sqlitestatement.java:31) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.database.sqlite.sqlitedatabase.insertwithonconflict(sqlitedatabase.java:1467) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.database.sqlite.sqlitedatabase.insert(sqlitedatabase.java:1339) 11-03 17:05:40.404: e/sqlitedatabase(1195): at com.team11.healthdb.eventhandler.addevent(eventhandler.java:79) 11-03 17:05:40.404: e/sqlitedatabase(1195): at com.team11.healthdb.mainactivity.oncreate(mainactivity.java:23) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.app.activity.performcreate(activity.java:5231) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.app.instrumentation.callactivityoncreate(instrumentation.java:1087) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.app.activitythread.performlaunchactivity(activitythread.java:2159) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.app.activitythread.handlelaunchactivity(activitythread.java:2245) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.app.activitythread.access$800(activitythread.java:135) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.app.activitythread$h.handlemessage(activitythread.java:1196) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.os.handler.dispatchmessage(handler.java:102) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.os.looper.loop(looper.java:136) 11-03 17:05:40.404: e/sqlitedatabase(1195): at android.app.activitythread.main(activitythread.java:5017) 11-03 17:05:40.404: e/sqlitedatabase(1195): at java.lang.reflect.method.invokenative(native method) 11-03 17:05:40.404: e/sqlitedatabase(1195): at java.lang.reflect.method.invoke(method.java:515) 11-03 17:05:40.404: e/sqlitedatabase(1195): at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:779) 11-03 17:05:40.404: e/sqlitedatabase(1195): at com.android.internal.os.zygoteinit.main(zygoteinit.java:595) 11-03 17:05:40.404: e/sqlitedatabase(1195): at dalvik.system.nativestart.main(native method) 11-03 17:05:40.524: e/sqlitelog(1195): (1) no such table: events 11-03 17:05:40.544: d/androidruntime(1195): shutting downwards vm 11-03 17:05:40.544: w/dalvikvm(1195): threadid=1: thread exiting uncaught exception (group=0xb3a97ba8) 11-03 17:05:40.644: e/androidruntime(1195): fatal exception: main 11-03 17:05:40.644: e/androidruntime(1195): process: com.team11.healthdb, pid: 1195 11-03 17:05:40.644: e/androidruntime(1195): java.lang.runtimeexception: unable start activity componentinfo{com.team11.healthdb/com.team11.healthdb.mainactivity}: android.database.sqlite.sqliteexception: no such table: events (code 1): , while compiling: select * events 11-03 17:05:40.644: e/androidruntime(1195): at android.app.activitythread.performlaunchactivity(activitythread.java:2195) 11-03 17:05:40.644: e/androidruntime(1195): at android.app.activitythread.handlelaunchactivity(activitythread.java:2245) 11-03 17:05:40.644: e/androidruntime(1195): at android.app.activitythread.access$800(activitythread.java:135) 11-03 17:05:40.644: e/androidruntime(1195): at android.app.activitythread$h.handlemessage(activitythread.java:1196) 11-03 17:05:40.644: e/androidruntime(1195): at android.os.handler.dispatchmessage(handler.java:102) 11-03 17:05:40.644: e/androidruntime(1195): at android.os.looper.loop(looper.java:136) 11-03 17:05:40.644: e/androidruntime(1195): at android.app.activitythread.main(activitythread.java:5017) 11-03 17:05:40.644: e/androidruntime(1195): at java.lang.reflect.method.invokenative(native method) 11-03 17:05:40.644: e/androidruntime(1195): at java.lang.reflect.method.invoke(method.java:515) 11-03 17:05:40.644: e/androidruntime(1195): at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:779) 11-03 17:05:40.644: e/androidruntime(1195): at com.android.internal.os.zygoteinit.main(zygoteinit.java:595) 11-03 17:05:40.644: e/androidruntime(1195): at dalvik.system.nativestart.main(native method) 11-03 17:05:40.644: e/androidruntime(1195): caused by: android.database.sqlite.sqliteexception: no such table: events (code 1): , while compiling: select * events 11-03 17:05:40.644: e/androidruntime(1195): at android.database.sqlite.sqliteconnection.nativepreparestatement(native method) 11-03 17:05:40.644: e/androidruntime(1195): at android.database.sqlite.sqliteconnection.acquirepreparedstatement(sqliteconnection.java:889) 11-03 17:05:40.644: e/androidruntime(1195): at android.database.sqlite.sqliteconnection.prepare(sqliteconnection.java:500) 11-03 17:05:40.644: e/androidruntime(1195): at android.database.sqlite.sqlitesession.prepare(sqlitesession.java:588) 11-03 17:05:40.644: e/androidruntime(1195): at android.database.sqlite.sqliteprogram.<init>(sqliteprogram.java:58) 11-03 17:05:40.644: e/androidruntime(1195): at android.database.sqlite.sqlitequery.<init>(sqlitequery.java:37) 11-03 17:05:40.644: e/androidruntime(1195): at android.database.sqlite.sqlitedirectcursordriver.query(sqlitedirectcursordriver.java:44) 11-03 17:05:40.644: e/androidruntime(1195): at android.database.sqlite.sqlitedatabase.rawquerywithfactory(sqlitedatabase.java:1314) 11-03 17:05:40.644: e/androidruntime(1195): at android.database.sqlite.sqlitedatabase.rawquery(sqlitedatabase.java:1253) 11-03 17:05:40.644: e/androidruntime(1195): at com.team11.healthdb.eventhandler.getallevents(eventhandler.java:116) 11-03 17:05:40.644: e/androidruntime(1195): at com.team11.healthdb.mainactivity.oncreate(mainactivity.java:26) 11-03 17:05:40.644: e/androidruntime(1195): at android.app.activity.performcreate(activity.java:5231) 11-03 17:05:40.644: e/androidruntime(1195): at android.app.instrumentation.callactivityoncreate(instrumentation.java:1087) 11-03 17:05:40.644: e/androidruntime(1195): at android.app.activitythread.performlaunchactivity(activitythread.java:2159) 11-03 17:05:40.644: e/androidruntime(1195): ... 11 more
avoid spaces in field names. alter lines
private static final string key_start = "start time"; private static final string key_end = "end time"; by
private static final string key_start = "start_time"; private static final string key_end = "end_time"; the line
11-03 17:05:40.154: e/sqlitedatabase(1195): android.database.sqlite.sqliteexception: near "time": syntax error (code 1): , while compiling: insert events(end time,start time,location,description,title) values (?,?,?,?,?) is key understand happens.
javascript android sqlite
Comments
Post a Comment