I am getting a Sqlite error while launching the app, but I am not able to find any problem in code. It is showing this error,
FATAL EXCEPTION:
main Process: eukti.myafterclass, PID: 11442
android.database.sqlite.SQLiteException: near "create": syntax error (code 1)
DB file:
package eukti.myafterclass.db;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import eukti.myafterclass.dto.StudentPersionalDetails;
import eukti.myafterclass.dto.SubjectDetails;
/**
* Created by accure on 2/16/15.
*/
public class DBhelper {
private DatabaseHelper mDbHelper;
private SQLiteDatabase mDb;
private final Context mCtx;
private static final String DATABASE_NAME = "myafterclass.db";
private static final int DATABASE_VERSION = 2;
private static final String STUDENT_DETAIL_TABLE = "student_personal_detail";
;
public static final String KEY_ID = "id"; //Auto-increment
public static final String STUDENT_UUID = "student_uuid";
public static final String STUDENT_NAME = "name";//Name of student created
public static final String EMAIL_ID = "email_id";//email id
public static final String MOBILE_NUMBER = "mobile_number";//email id
public static final String DATE_OF_BIRTH = "date_of_birth";
public static final String UNIVERSITY_NAME = "university_name";
public static final String UNIVERSITY_UUID = "university_uuid";
public static final String INSTITUITION_NAME = "institution_name";
public static final String INSTITUITION_UUID = "institution_uuid";
public static final String DEGREE_NAME = "degree_name";
public static final String DEGREE_UUID = "degree_uuid";
public static final String STREAM_NAME = "stream_name";
public static final String STREAM_UUID = "stream_uuid";
public static final String TENURE_TYPE = "tenure_type";
public static final String TENURE_LEVEL = "tenure_level";
public static final String CYCLE = "cycle";
public static final String PIC_64 = "pic_64";
public static final String TIMEZONE = "time_zone";
public static final String STUDENT_PASS_KEY = "student_passkey";
public static final String MASTER_DATA_UUID = "masterdata_uuid";
public static final String SYLLABUS_UUID = "syllabus_uuid";
public static final String LOCATION_UUID = "location_uuid";
public static final String REFERRAL_CODE = "referral_code";
public static final String PIC_32 = "pic_32";
public static final String FB_URL = "fb_url";
public static final String TWITTER_URL = "twitter_url";
public static final String LINKEDIN_URL = "linkedin_url";
public static final String GPLUS_URL = "gplus_url";
public static final String VISIBILITY_SETTING = "visibility_setting";
public static final String CREATED_DATE = "created_date";
public static final String SUBJECT_TABLE = "subject_table";
public static final String CHILD_SUBJECT_UUID = "child_subject_uuid";
public static final String CHILD_SUBJECT_NAME = "child_subject_name";
public static final String PARENT_SUBJECT_NAME = "parent_subject_name";
public static final String PARENT_SUBJECT_UUID = "parent_subject_uuid";
public static final String EXPERT_AVAILABILITY_TABLE = "expert_availability_table";
public static final String ATTACHMENT_TABLE = "attachment_table";
public static final String ATTACHMENT_NAME = "attachment_name";
public static final String ATTACHMENT_DOWNLOAD_LINK = "attachment_download_link";
//Create Statement
private static final String CREATE_STUDENT_TABLE = "create table " + STUDENT_DETAIL_TABLE + " ("
+ KEY_ID + " integer primary key autoincrement, "
+ STUDENT_UUID + " text, "
+ STUDENT_NAME + " text, "
+ EMAIL_ID + " text, "
+ MOBILE_NUMBER + " text, "
+ DATE_OF_BIRTH + " text, "
+ UNIVERSITY_NAME + " text, "
+ UNIVERSITY_UUID + " text, "
+ INSTITUITION_NAME + " text, "
+ INSTITUITION_UUID + " text, "
+ DEGREE_NAME + " text, "
+ DEGREE_UUID + " text, "
+ STREAM_NAME + " text, "
+ STREAM_UUID + " text, "
+ TENURE_TYPE + " text, "
+ TENURE_LEVEL + " text, "
+ CYCLE + " text, "
+ PIC_64 + " text, "
+ TIMEZONE + " text, "
+ STUDENT_PASS_KEY + " text, "
+ MASTER_DATA_UUID + " text, "
+ SYLLABUS_UUID + " text, "
+ LOCATION_UUID + " text, "
+ REFERRAL_CODE + " text, "
+ PIC_32 + " text, "
+ FB_URL + " text, "
+ TWITTER_URL + " text, "
+ LINKEDIN_URL + " text, "
+ GPLUS_URL + " text, "
+ VISIBILITY_SETTING + " text, "
+ CREATED_DATE + " DATETIME " + ")";
private static final String CREATE_SUBJECT_TABLE = "create table " + SUBJECT_TABLE + " ("
+ KEY_ID + " integer primary key autoincrement, "
+ STUDENT_UUID + " text, "
+ CHILD_SUBJECT_UUID + " text, "
+ CHILD_SUBJECT_NAME + " text, "
+ PARENT_SUBJECT_NAME + " text, "
+ PARENT_SUBJECT_UUID + " text, "
+ CREATED_DATE + " DATETIME " + ")";
private static final String CREATE_EXPERT_AVAILABILITY_TABLE = "create table " + EXPERT_AVAILABILITY_TABLE + " ("
+ KEY_ID + " integer primary key autoincrement, "
+ STUDENT_UUID + " text, "
+ CHILD_SUBJECT_NAME + " text, "
+ CREATED_DATE + " DATETIME " + ")";
private static final String CREATE_ATTACHMENT_TABLE = "create table " + ATTACHMENT_TABLE + " ("
+ KEY_ID + " integer primary key autoincrement, "
+ STUDENT_UUID + " text, "
+ ATTACHMENT_NAME + " text, "
+ ATTACHMENT_DOWNLOAD_LINK + " text, "
+ CREATED_DATE + " DATETIME " + ")";
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_STUDENT_TABLE);
db.execSQL(CREATE_SUBJECT_TABLE);
db.execSQL(CREATE_EXPERT_AVAILABILITY_TABLE);
db.execSQL(CREATE_ATTACHMENT_TABLE);
Log.d("Database created", "--" + db.getPath());
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + CREATE_STUDENT_TABLE);
db.execSQL("DROP TABLE IF EXISTS " + CREATE_SUBJECT_TABLE);
db.execSQL("DROP TABLE IF EXISTS " + CREATE_EXPERT_AVAILABILITY_TABLE);
db.execSQL("DROP TABLE IF EXISTS " + CREATE_ATTACHMENT_TABLE);
onCreate(db);
}
}
//inserting default songs
public void insertStudentPersionalDetails(StudentPersionalDetails studentDetails) {
Log.d("insert Student Details ", "Inside ");
SQLiteDatabase db = mDbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(STUDENT_UUID, studentDetails.getStudent_uuid());
values.put(STUDENT_NAME, studentDetails.getName());
values.put(EMAIL_ID, studentDetails.getEmail_id());
values.put(MOBILE_NUMBER, studentDetails.getMobile_number());
values.put(DATE_OF_BIRTH, studentDetails.getDate_of_birth());
values.put(UNIVERSITY_NAME, studentDetails.getUniversity_name());
values.put(UNIVERSITY_UUID, studentDetails.getUniversity_uuid());
values.put(INSTITUITION_NAME, studentDetails.getInstitution_name());
values.put(INSTITUITION_UUID, studentDetails.getInstitution_uuid());
values.put(DEGREE_NAME, studentDetails.getDegree_name());
values.put(DEGREE_UUID, studentDetails.getDegree_uuid());
values.put(STREAM_UUID, studentDetails.getStream_uuid());
values.put(STREAM_NAME, studentDetails.getStream_name());
values.put(TENURE_TYPE, studentDetails.getTenure_type());
values.put(TENURE_LEVEL, studentDetails.getTenure_level());
values.put(CYCLE, studentDetails.getCycle());
values.put(PIC_64, studentDetails.getStudentPic64());
values.put(TIMEZONE, studentDetails.getStudentTimeZone());
values.put(STUDENT_PASS_KEY, studentDetails.getStudentPasskey());
values.put(MASTER_DATA_UUID, studentDetails.getStudentMasterDataUUID());
values.put(SYLLABUS_UUID, studentDetails.getStudentSyllabusId());
values.put(LOCATION_UUID, studentDetails.getStudentLocationUUID());
values.put(REFERRAL_CODE, studentDetails.getReferralCode());
values.put(PIC_32, studentDetails.getStudentPic32());
values.put(FB_URL, studentDetails.getClientFBUrl());
values.put(TWITTER_URL, studentDetails.getClientTwitterUrl());
values.put(LINKEDIN_URL, studentDetails.getClientLinkedInUrl());
values.put(GPLUS_URL, studentDetails.getCleintGPlusUrl());
values.put(VISIBILITY_SETTING, studentDetails.getClientVisibilitySetting());
values.put(CREATED_DATE, getDateTime());
db.insert(STUDENT_DETAIL_TABLE, null, values);
Log.d("STUDENT_DETAIL_TABLE ", "" + values);
db.close();
}
Logcat:
12-15 18:48:59.730 11442-11442/eukti.myafterclass E/SQLiteLog: (1) near "create": syntax error
12-15 18:48:59.746 11442-11442/eukti.myafterclass D/AndroidRuntime: Shutting down VM
12-15 18:48:59.837 11442-11442/eukti.myafterclass E/AndroidRuntime: FATAL EXCEPTION: main
Process: eukti.myafterclass, PID: 11442
android.database.sqlite.SQLiteException: near "create": syntax error (code 1): , while compiling: DROP TABLE IF EXISTS create table student_personal_detail (id integer primary key autoincrement, student_uuid text, name text, email_id text, mobile_number text, date_of_birth text, university_name text, university_uuid text, institution_name text, institution_uuid text, degree_name text, degree_uuid text, stream_name text, stream_uuid text, tenure_type text, tenure_level text, cycle text, pic_64 text, time_zone text, student_passkey text, masterdata_uuid text, syllabus_uuid text, location_uuid text, referral_code text, pic_32 text, fb_url text, twitter_url text, linkedin_url text, gplus_url text, visibility_setting text, created_date DATETIME )
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1674)
at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1605)
at eukti.myafterclass.db.DBhelper$DatabaseHelper.onUpgrade(DBhelper.java:150)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:256)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
at eukti.myafterclass.db.DBhelper.getSubjectsDetailsList(DBhelper.java:409)
at eukti.myafterclass.fragment.NewQuestionFragment.onCreateView(NewQuestionFragment.java:114)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1789)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:955)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501)
at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:490)
at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1105)
at android.support.v4.view.ViewPager.populate(ViewPager.java:951)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1473)
at android.view.View.measure(View.java:17448)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:727)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:463)
at android.view.View.measure(View.java:17448)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1488)
at android.view.View.measure(View.java:17448)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5465)
at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:573)
at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:640)
at android.view.View.measure(View.java:17448)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5465)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at android.support.v7.internal.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:124)
at android.view.View.measure(View.java:17448)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5465)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17448)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5465)
at
Aucun commentaire:
Enregistrer un commentaire