Skip to content Skip to sidebar Skip to footer

Android.database.sqlite.sqliteexception: Near " ": Syntax Error

I'm having a problem while adding records in SQLite. This is the Error: 09-18 17:47:47.586: E/AndroidRuntime(1039): java.lang.RuntimeException: Unable to start activity Componen

Solution 1:

db.execSQL("
    CREATE TABLE " + DATABASE_TABLE + "(" +
    KEY_ITEMID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
    KEY_ITEM + " TEXT NOT NULL, " + 
    KEY_QTY + " TEXT NOT NULL );"
);

There are easy to mix up. You just need the close parenthesis.

Suggestion:

String createStatement = 
    String.format("CREATE TABLE %s ( %s INTEGER PRIMARY KEY
                   AUTOINCREMENT, %s TEXT NOT NULL, 
                   %s TEXT NOT NULL);",
                        DATABASE_TABLE,
                        KEY_ITEMID,
                        KEY_ITEM,
                        KEY_QTY);

If you construct your table like this, I personally think it makes the statement much easier to read for things like SQL Syntax and then you can bind the data later.

Solution 2:

Append ")" at the end of Create Table Query.

Solution 3:

Solution 4:

You are missing the right parenthesis of the Create Table Syntax, correct it as follows,

CREATETABLE tblItem 
                 (_id INTEGERPRIMARY KEY AUTOINCREMENT,
                  grocery_item TEXT NOTNULL,
                  grocery_qty TEXT NOTNULL ); 

Solution 5:

db.execSQL("CREATE TABLE " + DATABASE_TABLE + "(" +
KEY_ITEMID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
KEY_ITEM + " TEXT NOT NULL, " + 
KEY_QTY + " TEXT NOT NULL )");

You need to add ")" at last in your create table.

Insert Query

Stringqty="QTY";
    Stringitem="ITEM";
    Stringsql="INSERT or replace INTO "+ DATABASE_TABLE +" (qty, item) VALUES('"+ qty +"','"+ item + "')";
    db.execSQL(sql);

Post a Comment for "Android.database.sqlite.sqliteexception: Near " ": Syntax Error"