-1

I have two activities one is Database helper and other is main activity. There is no sytax error but whenever I press Accept button (accButton), my app stops working. Please help me out thanks.

Code in DBhelper class

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table" + TABLE_NAME + "create table LMSLiteDB(ID text primary key not null," +
                "Password text not null, Name text not null, VU-Email text not null, City text not null," +
                "Country text not null, Selected_Course text not null);");

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {


        db.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME);
        onCreate(db);
    }

    public boolean insertValues(String id, String autoPass, String name, String mail, String city, String contry , String selectedCourse) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(COLUMN_ID, id);
        values.put(COLUMN_PASSWORD, autoPass);
        values.put(COLUMN_Name, name);
        values.put(COLUMN_VUEmail, mail);
        values.put(COLUMN_CITY, city);
        values.put(COLUMN_COUNTRY, contry);
        values.put(COLUMN_SELECTEDCOURSE, selectedCourse);

        long result = db.insert(TABLE_NAME, null, values);
        if (result == -1)
            return false;
        else
            return true;
    }

code in Main activity

public void onAccClick(View view) {

        TextView tfName = (TextView) findViewById(R.id.fName);
        TextView tEmail = (TextView) findViewById(R.id.vuEmail);
        TextView tId = (TextView) findViewById(R.id.id);
        TextView tPassword = (TextView) findViewById(R.id.password);
        TextView tCity = (TextView) findViewById(R.id.city);
        TextView tContry = (TextView) findViewById(R.id.contry);
        TextView tItem = (TextView) findViewById(R.id.item);


        boolean isInserted = db.insertValues(tId.getText().toString(), tPassword.getText().toString(), tfName.getText().toString(),
                tEmail.getText().toString(), tCity.getText().toString(), tContry.getText().toString(),
                tItem.getText().toString());
        if (isInserted = true) {
            Toast.makeText(ACCEPT.this, "Data Inserted", Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(ACCEPT.this, "Data not Inserted", Toast.LENGTH_LONG).show();
        }
    }
}
MikeT
  • 51,415
  • 16
  • 49
  • 68

1 Answers1

0

I guess your TABLE not created properly. Update your create table statement.

Use:

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table " + TABLE_NAME + " (ID text primary key not null, " +
                "Password text not null, Name text not null, VU-Email text not null, City text not null," +
                " Country text not null, Selected_Course text not null);");

    }

Instead of:

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table" + TABLE_NAME + "create table LMSLiteDB(ID text primary key not null," +
                "Password text not null, Name text not null, VU-Email text not null, City text not null," +
                "Country text not null, Selected_Course text not null);");

    }
Ferdous Ahamed
  • 21,438
  • 5
  • 52
  • 61