我想为此在项目中创建插入数据库,我使用 sqlite,但 onCreate() 方法不起作用。我该如何修复错误? 谢谢。
错误:
android.database.sqlite.SQLiteException: near "tablehomepage": syntax error (code 1): , while compiling: 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();
}
}
最佳答案
您在创建表的查询中缺少几个空格。您需要在关键字之间添加空格。像 TABLE、Integer 等...
使用这个:
db.execSQL("create table " + DATABASE_TABLE + "("
+ Database.ROW_ID + " integer primary key AUTOINCREMENT, "
+ Database.ROW_TITLE + " TEXT );");
关于android - SQLite 没有创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43331656/