mardi 15 décembre 2015

Android: Getting Sqlite error while launching the app

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