【问题标题】:SQLite is not creating databaseSQLite 没有创建数据库
【发布时间】:2017-04-10 19:38:32
【问题描述】:

我想在项目中创建和插入数据库,为此我使用 sqlite 但 onCreate() 方法不起作用。如何修复错误? 谢谢。

错误:

android.database.sqlite.SQLiteException: near "tablehomepage": syntax error (code 1): , while compile: create tablehomepage(idinteger primary key AUTOINCREMENT, title 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();

    }


}

【问题讨论】:

    标签: android sqlite android-sqlite


    【解决方案1】:

    您在创建表的查询中缺少几个空格。您需要在关键字之间添加空格。像 TABLE、Integer 等...

    使用这个:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-11
      • 2015-07-26
      • 2014-09-30
      相关资源
      最近更新 更多