· 9 years ago · Dec 15, 2016, 04:56 AM
1public class EntriesDatabaseHelper extends SQLiteOpenHelper {
2
3 private static final int DATABASE_VERSION = 1;
4 private static final String DATABASE_NAME = "accounts.db";
5 private static final String TABLE_NAME = "diary";
6 private static final String COLUMN_ID = "id";
7 private static final String COLUMN_TITLE = "title";
8 private static final String COLUMN_DETAILS = "details";
9 private static final String COLUMN_SAVE_DATE = "save_date";
10 private static final String COLUMN_USER_ID = "user_id";
11 SQLiteDatabase db;
12
13 private static final String TABLE_CREATE = "create table " + TABLE_NAME
14 + " (" + COLUMN_ID + " integer primary key not null, "
15 + COLUMN_TITLE + " text not null, "
16 + COLUMN_DETAILS + " text not null, "
17 + COLUMN_SAVE_DATE + " text not null, "
18 + COLUMN_USER_ID + " integer not null);";
19
20
21 public EntriesDatabaseHelper(Context context){
22 super(context, DATABASE_NAME, null, DATABASE_VERSION);
23 }
24
25 @Override
26 public void onCreate(SQLiteDatabase db) {
27 db.execSQL(TABLE_CREATE);
28 this.db = db;
29 }
30
31 @Override
32 public void onUpgrade(SQLiteDatabase db, int i, int i1) {
33 String query = "DROP TABLE IF EXISTS " + TABLE_NAME;
34 db.execSQL(query);
35 this.onCreate(db);
36 }
37
38 public void insertEntry(DiaryEntries entries){
39 db = this.getWritableDatabase();
40 ContentValues values = new ContentValues();
41
42 String query = "SELECT * FROM " + TABLE_NAME;
43 Cursor cursor = db.rawQuery(query, null);
44 int count = cursor.getCount();
45 values.put(COLUMN_ID, count);
46 values.put(COLUMN_TITLE, entries.getTitle());
47 values.put(COLUMN_DETAILS, entries.getDetails());
48 values.put(COLUMN_SAVE_DATE, entries.getDate());
49 values.put(COLUMN_USER_ID, entries.getUser_id());
50
51 db.insert(TABLE_NAME, null, values);
52 db.close();
53
54 }
55
56}
57
58FATAL EXCEPTION: main
59 android.database.sqlite.SQLiteException: no such table: diary (code 1): , while compiling: SELECT * FROM diary
60 at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
61 at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
62 at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
63 at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
64 at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
65 at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
66 at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
67 at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1314)
68 at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1253)
69 at elec4.app.android.diaryapp.EntriesDatabaseHelper.insertEntry(EntriesDatabaseHelper.java:55)
70 at elec4.app.android.diaryapp.WriteDiary$1.onClick(WriteDiary.java:81)
71 at android.view.View.performClick(View.java:4240)
72 at android.view.View$PerformClick.run(View.java:17721)
73 at android.os.Handler.handleCallback(Handler.java:730)
74 at android.os.Handler.dispatchMessage(Handler.java:92)
75 at android.os.Looper.loop(Looper.java:137)
76 at android.app.ActivityThread.main(ActivityThread.java:5103)
77 at java.lang.reflect.Method.invokeNative(Native Method)
78 at java.lang.reflect.Method.invoke(Method.java:525)
79 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
80 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
81 at dalvik.system.NativeStart.main(Native Method)
82
83EntriesDatabaseHelper helper = new EntriesDatabaseHelper(this);
84DiaryEntries entries = new DiaryEntries();
85 entries.setTitle(data_title);
86 entries.setDetails(data_details);
87 entries.setDate(date);
88 entries.setUser_id(Integer.parseInt(user_id));
89
90 helper.insertEntry(entries);
91 //inserted into the database
92 finish();