Reputation: 2564
I've spend some time in try to fix this, but I don't know where is the problem in my sql create entries..
The error:
android.database.sqlite.SQLiteException: near "(": syntax error (code 1): , while compiling: CREATE VIRTUAL TABLE CommerceName ( _id TEXT PRIMARY KEY,id INTEGER,name TEXT,category TEXT,imageref TEXT )
Thanks in advance
CODE:
public static final String SQL_CREATE_ENTRIES =
"CREATE VIRTUAL TABLE " + CommerceSearchReaderDbHelper.CommerceNameSearchEntry.TABLE_NAME + " ( " +
CommerceSearchReaderDbHelper.CommerceNameSearchEntry._ID + TEXT_TYPE +" PRIMARY KEY," +
CommerceSearchReaderDbHelper.CommerceNameSearchEntry.COLUMN_ID + INTEGER_TYPE + COMMA_SEP +
CommerceSearchReaderDbHelper.CommerceNameSearchEntry.COLUMN_NAME + TEXT_TYPE + COMMA_SEP +
CommerceSearchReaderDbHelper.CommerceNameSearchEntry.COLUMN_CATEGORY+ TEXT_TYPE + COMMA_SEP +
CommerceSearchReaderDbHelper.CommerceNameSearchEntry.COLUMN_IMAGEREF + TEXT_TYPE +
" )";
public static final String SQL_DELETE_ENTRIES =
"DROP TABLE IF EXISTS " + CommerceSearchReaderDbHelper.CommerceNameSearchEntry.TABLE_NAME;
public static abstract class CommerceNameSearchEntry implements BaseColumns {
public static final String TABLE_NAME = "CommerceName";
public static final String COLUMN_ID = SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA;
public static final String COLUMN_NAME = SearchManager.SUGGEST_COLUMN_TEXT_1;
public static final String COLUMN_CATEGORY = SearchManager.SUGGEST_COLUMN_TEXT_2;
public static final String COLUMN_IMAGEREF = SearchManager.SUGGEST_COLUMN_ICON_1;
}
Upvotes: 0
Views: 624
Reputation: 4291
If you really intend to create a virtual table, then you are missing "USING module_name". See here.
If you instead do not intend to create a virtual table (which is likely since you are using Android), then you should remove "VIRTUAL" from the CREATE
statement. The syntax is here.
Upvotes: 1
Reputation: 651
You are missing the spaces between your CommerceSearchReaderDbHelper.CommerceNameSearchEntry._ID and TEXT_TYPE, etc. Use this instead:
public static final String SQL_CREATE_ENTRIES =
"CREATE VIRTUAL TABLE " +
CommerceSearchReaderDbHelper.CommerceNameSearchEntry.TABLE_NAME + " ( " + CommerceSearchReaderDbHelper.CommerceNameSearchEntry._ID
+ " " + TEXT_TYPE +" PRIMARY KEY," +
CommerceSearchReaderDbHelper.CommerceNameSearchEntry.COLUMN_ID + " " + INTEGER_TYPE + COMMA_SEP +
CommerceSearchReaderDbHelper.CommerceNameSearchEntry.COLUMN_NAME + " " + TEXT_TYPE + COMMA_SEP +
CommerceSearchReaderDbHelper.CommerceNameSearchEntry.COLUMN_CATEGORY + " " + TEXT_TYPE + COMMA_SEP +
CommerceSearchReaderDbHelper.CommerceNameSearchEntry.COLUMN_IMAGEREF + " " + TEXT_TYPE +
" );";
Upvotes: 1