1

I have written the Database class & trying to insert the values in the database but i am getting Exception like this android.database.sqlite.SQLiteException: near "15": syntax error: , while compiling:

insert into tbl_setmessage (Title,Message,DateFrom,StartTime,ExpiryDate,ExpiryTime)        values 
('Swapnil','hii','12-3-2012 '15:53'14-3-2012 '15:54')

what is the problem

My Databse class is

public class DataBaseCreator {
private static final String DATABASE_NAME = "SetMessage.db";
private static final int DATABASE_VERSION = 1;
private Context context;
private SQLiteDatabase db;
private SQLiteStatement insertStmt;

public DataBaseCreator(Context context) {
    this.context = context;
    OpenHelper openHelper = new OpenHelper(this.context);
    this.db = openHelper.getWritableDatabase();
}


public long insert(String TABLE_NAME, String TABLE_FIELDS, String TABLE_VALUES) {
    String INSERT = "insert into " 
            + TABLE_NAME + "("+ TABLE_FIELDS +") values ("+TABLE_VALUES+")";
    this.insertStmt = this.db.compileStatement(INSERT);
    return this.insertStmt.executeInsert();
}
public void closeDb() {
    this.db.close();
}  

private static class OpenHelper extends SQLiteOpenHelper {

    OpenHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE Set_message (Tittle VARCHAR(30) NOT NULL," +
     "Message VARCHAR(30) NOT NULL,"+
        "Date_from DATETIME NOT NULL,"+
         "Start_Time DATETIME NOT NULL,"+
        "Expiry_Date DATETIME NOT NULL,"+
         "Expiry_Time DATETIME NOT NULL)");

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP DATABASE IF EXISTS " + DATABASE_NAME);
        onCreate(db);
    }

}

public void open() {
    // TODO Auto-generated method stub

}

}

and main class is

btn_SetMessage.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            baseCreator.insert("tbl_setmessage ","Title,Message,DateFrom,StartTime,ExpiryDate,ExpiryTime","'"+tv1.getText()+"','"
                    +tv2.getText()+"','"+StartDate.getText()+"'"+StartTime.getText()+"'"+ExpiryDate.getText()+"'"+ExpiryTime.getText()+"'");
            Intent i=new Intent(SetMessage.this,SelectLocation.class);
            startActivity(i);
        }
    });

3 Answers 3

1

Try:

btn_SetMessage.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        baseCreator.insert("tbl_setmessage ","Title,Message,DateFrom,StartTime,ExpiryDate,ExpiryTime","'"+tv1.getText()+"','"
                +tv2.getText()+"','"+StartDate.getText()+"','"+StartTime.getText()+"','"+ExpiryDate.getText()+"','"+ExpiryTime.getText()+"'");
        Intent i=new Intent(SetMessage.this,SelectLocation.class);
        startActivity(i);
    }
});

You lost some " ',' "

Sign up to request clarification or add additional context in comments.

2 Comments

I have tried this now giving exception like this Android.database.sqlite.SQLiteException: no such table: tbl_setmessage: , while compiling: insert into tbl_setmessage
Because it is Set_message (Your SQL is "CREATE TABLE Set_message (Tittle VARCHAR(30) ....")
0
    //decleration
  EventDataSQLHelper eventsData;// class where database is created
    SQLiteDatabase dbx ;
    SQLiteDatabase rdbx;
     ContentValues values;
//onCreate
 eventsData = new EventDataSQLHelper(NewWakeupProfile.this);

        dbx = eventsData.getWritableDatabase();    
        rdbx = eventsData.getReadableDatabase();
        values=new ContentValues();
 values.put("columnname1",value1);  
 values.put("columnname1",value2);  
 values.put("columnname1",value3);  
 values.put("columnname1",value4);
.......
......
.......


//insert query
dbx.insert("tablename", null,values);

Comments

0

This is your error message, that I took the liberty of reformating:

I have written the Database class & trying to insert the values in the database but i am getting Exception like this
android.database.sqlite.SQLiteException: near "15": syntax error: , while compiling: insert into tbl_setmessage (Title,Message,DateFrom,StartTime,ExpiryDate,ExpiryTime) values ('Swapnil','hii','12-3-2012 '15:53'14-3-2012 '15:54')

As you can see in the bold part, some commas are missing. Try this:

insert into tbl_setmessage (Title,Message,DateFrom,StartTime,ExpiryDate,ExpiryTime) values ('Swapnil','hii','12-3-2012', '15:53', '14-3-2012', '15:54')

Careful also with your apostrophes (symbol ').

Also, why don't you use the Android SQLite APIs? They're quite convenient. You can also use SQLiteQueryBuilder

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.