dimanche 15 mars 2015

Error at create statement

This is my code to create database for an android app!



public class DBhelper extends SQLiteOpenHelper {

public static String DBNAME="db2.db";
public static String TBNAME="tb1";
// any tb in sqlite must contain _id col !
public static String ID="_id";
public static String NAME="appname";
public static String TYPE="locktype";
public static String LIMIT="limit";
public static String LOCK_TIME="lock_time";
public DBhelper(Context context) {
super(context, DBNAME , null, 1);
}

public static String create= "Create table "+TBNAME+"("+ID+" Integer Primary Key Autoincrement," +
NAME+ " text, "+
TYPE+ " text, " +
LIMIT+ " text, " +
LOCK_TIME+" text);";
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(create);


//this function should include query to create db
}

@Override
public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) {
// TODO Auto-generated method stub

db.execSQL("Drop table if exists "+TBNAME);
db.execSQL(create);

}

public void insert_apps(ArrayList<String> apps)
{
SQLiteDatabase db=getWritableDatabase();
for(String app: apps)
db.execSQL("Insert into tb1(appname) values('"+app+"')");
}

public void details(String name,String limit,String lock_time)
{
SQLiteDatabase db=getWritableDatabase();

//everythingz correct!
db.execSQL("Update "+TBNAME+" set limit='"+limit+"', lock_time='"+lock_time+"' where appname='"+name+"';");
}


}


This is the error i am getting. Please let me know my mistake.


03-15 17:09:55.636: E/AndroidRuntime(29455): Caused by: android.database.sqlite.SQLiteException: near "limit": syntax error (code 1): , while compiling: Create table tb1(_id Integer Primary Key Autoincrement,appname text, locktype text, limit text, lock_time text); 03-15 17:09:55.636: E/AndroidRuntime(29455): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) 03-15 17:09:55.636: E/AndroidRuntime(29455): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889) 03-15 17:09:55.636: E/AndroidRuntime(29455): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500) 03-15 17:09:55.636: E/AndroidRuntime(29455): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) 03-15 17:09:55.636: E/AndroidRuntime(29455): at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58) 03-15 17:09:55.636: E/AndroidRuntime(29455): at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)


Aucun commentaire:

Enregistrer un commentaire