vendredi 26 juin 2015

error on sqlite database with 2 table creation in android, unfortunately,"dbtest2 has stopped",please help me i'm new to android.thanks in advance

package com.example.dbtest2;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DataBaseHelper extends SQLiteOpenHelper {
    public static String DATABASE_NAME="riyas.db";
    public static int DATABASE_VERSION=1;



    //table login
    public static String TABLE_NAME1="login";

    public static String COL_L1="ID";
    public static String COL_L2="USERNAME";
    public static String COL_L3="PASSWORD";

    //table record
    public static String TABLE_NAME2="record";

    public static String COL_R1="ID";
    public static String COL_R2="NAME";
    public static String COL_R3="ADDRESS";
    public static String COL_R4="MOBILE";
    public static String COL_R5="MALE";
    public static String COL_R6="FEMALE";
    public static String COL_R7="DOC_NAME";
    public static String COL_R8="CHECK1";
    public static String COL_R9="CHECK2";

    public static String mytab1="create table"+TABLE_NAME1+" ("
            +COL_L1 +" INTEGER PRIMARY KEY AUTOINCREMENT,NOT NULL,"
            +COL_L2 +"TEXT,NOT NULL,"
            +COL_L3+ "TEXT,NOT NULL,"
            +");";


     public static String mytab2="create table"+TABLE_NAME2+" ("
            + COL_R1+ "INTEGER PRIMARY KEY AUTOINCREMENT,NOT NULL,"
            + COL_R2 +"TEXT,"
             +COL_R3+ "TEXT,"
             +COL_R4 +"INTEGER,"
             +COL_R5 +"TEXT,"
             +COL_R6 +"TEXT,"
            + COL_R7 +"TEXT,"
            + COL_R8+"TEXT,"
            + COL_R9 +"TEXT,"
              +");";

    public DataBaseHelper(Context context) {
        super(context, DATABASE_NAME, null, 1);
        // TODO Auto-generated constructor stub
        SQLiteDatabase Cdb=this.getWritableDatabase();
    }

    @Override
    public void onCreate(SQLiteDatabase Cdb) {
        // TODO Auto-generated method stub
        Cdb.execSQL(mytab1);
       Cdb.execSQL(mytab2);
               }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
    db.execSQL("DROP TABLE IF EXIST"+TABLE_NAME1);
    db.execSQL("DROP TABLE IF EXIST"+TABLE_NAME2);

    onCreate(db);
    }
}

my main activity is...

package com.example.dbtest2;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;

public class MainActivity extends ActionBarActivity {
    DataBaseHelper mydb;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mydb=new DataBaseHelper(this);

    }
}

logcat result is....

06-27 02:09:36.392: E/AndroidRuntime(13937): FATAL EXCEPTION: main 06-27 02:09:36.392: E/AndroidRuntime(13937): Process: com.example.dbtest2, PID: 13937 06-27 02:09:36.392: E/AndroidRuntime(13937): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.dbtest2/com.example.dbtest2.MainActivity}: android.database.sqlite.SQLiteException: near "tablelogin": syntax error (code 1): , while compiling: create tablelogin (ID INTEGER PRIMARY KEY AUTOINCREMENT,NOT NULL,USERNAMETEXT,NOT NULL,PASSWORDTEXT,NOT NULL,); 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.app.ActivityThread.access$800(ActivityThread.java:135) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.os.Handler.dispatchMessage(Handler.java:102) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.os.Looper.loop(Looper.java:136) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.app.ActivityThread.main(ActivityThread.java:5017) 06-27 02:09:36.392: E/AndroidRuntime(13937): at java.lang.reflect.Method.invokeNative(Native Method) 06-27 02:09:36.392: E/AndroidRuntime(13937): at java.lang.reflect.Method.invoke(Method.java:515) 06-27 02:09:36.392: E/AndroidRuntime(13937): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 06-27 02:09:36.392: E/AndroidRuntime(13937): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 06-27 02:09:36.392: E/AndroidRuntime(13937): at dalvik.system.NativeStart.main(Native Method) 06-27 02:09:36.392: E/AndroidRuntime(13937): Caused by: android.database.sqlite.SQLiteException: near "tablelogin": syntax error (code 1): , while compiling: create tablelogin (ID INTEGER PRIMARY KEY AUTOINCREMENT,NOT NULL,USERNAMETEXT,NOT NULL,PASSWORDTEXT,NOT NULL,); 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1672) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1603) 06-27 02:09:36.392: E/AndroidRuntime(13937): at com.example.dbtest2.DataBaseHelper.onCreate(DataBaseHelper.java:61) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164) 06-27 02:09:36.392: E/AndroidRuntime(13937): at com.example.dbtest2.DataBaseHelper.(DataBaseHelper.java:55) 06-27 02:09:36.392: E/AndroidRuntime(13937): at com.example.dbtest2.MainActivity.onCreate(MainActivity.java:21) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.app.Activity.performCreate(Activity.java:5231) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 06-27 02:09:36.392: E/AndroidRuntime(13937): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 06-27 02:09:36.392: E/AndroidRuntime(13937): ... 11 more 06-27 02:09:43.582: I/Process(13937): Sending signal. PID: 13937 SIG: 9

Aucun commentaire:

Enregistrer un commentaire