2017-04-10 80 views
1

我想在项目中创建nd插入数据库,为此我使用sqlite但onCreate()方法不工作。我该如何解决这个错误? 谢谢。SQLite没有创建数据库

错误:

android.database.sqlite.SQLiteException:邻近 “tablehomepage”:语法错误(码1):在编译:创建tablehomepage(idinteger主键AUTOINCREMENT,标题TEXT);

代码

public class Database extends SQLiteOpenHelper { 

    public static final String DATABASE_NAME="database"; 
    public static final int DATABASE_VERSİON=1; 
    public static final String DATABASE_TABLE="homepage"; 
    public static final String ROW_ID="id"; 
    public static final String ROW_TITLE="title"; 


    public Database(Context context) { 

     super(context,DATABASE_NAME, null, DATABASE_VERSİON); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
     db.execSQL("create table" + DATABASE_TABLE + "(" 
       + Database.ROW_ID + "integer primary key AUTOINCREMENT, " 
       + Database.ROW_TITLE + " TEXT);"); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int i, int i1) { 
     db.execSQL("DROP TABLE IF EXİSTS "+ DATABASE_TABLE); 
     onCreate(db); 
    } 

    public void addData(String title){ 

     SQLiteDatabase db = getWritableDatabase(); 
     ContentValues cv = new ContentValues(); 
     cv.put(ROW_TITLE,title.trim()); 
     db.insert(DATABASE_TABLE,null,cv); 
     db.close(); 

    } 


} 

回答

2

你在你创建表的查询丢失的几个空格。您需要在关键字之间添加空格。如表,整数等等

使用本:

db.execSQL("create table " + DATABASE_TABLE + "(" 
      + Database.ROW_ID + " integer primary key AUTOINCREMENT, " 
      + Database.ROW_TITLE + " TEXT);");