Android sqlite数据库错误SQLiteException

时间:2014-03-29 00:03:13

标签: android sqlite

我在尝试保存在数据库中时出现错误,它会立即崩溃并出现错误SQLiteException:没有这样的列。我不知道该做什么,因为SQLite对我来说仍然是一个谜。

logcat的:

03-29 01:04:29.823: E/SQLiteDatabase(23044): Error inserting ID=0 Y=15.085753686726093 X=26.93791172584063 description=Programmez pour Android nom=marker
03-29 01:04:29.823: E/SQLiteDatabase(23044): android.database.sqlite.SQLiteException: no such table: table_point: , while compiling: INSERT INTO table_point(ID,Y,X,description,nom) VALUES (?,?,?,?,?)
03-29 01:04:29.823: E/SQLiteDatabase(23044):    at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
03-29 01:04:29.823: E/SQLiteDatabase(23044):    at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:64)
03-29 01:04:29.823: E/SQLiteDatabase(23044):    at android.database.sqlite.SQLiteProgram.compileSql(SQLiteProgram.java:177)
03-29 01:04:29.823: E/SQLiteDatabase(23044):    at android.database.sqlite.SQLiteProgram.compileAndbindAllArgs(SQLiteProgram.java:395)
03-29 01:04:29.823: E/SQLiteDatabase(23044):    at android.database.sqlite.SQLiteStatement.acquireAndLock(SQLiteStatement.java:263)
03-29 01:04:29.823: E/SQLiteDatabase(23044):    at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:115)
03-29 01:04:29.823: E/SQLiteDatabase(23044):    at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1718)
03-29 01:04:29.823: E/SQLiteDatabase(23044):    at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1591)
03-29 01:04:29.823: E/SQLiteDatabase(23044):    at tn.pfe.ybn.sigl.database.PointBDD.insertPoint(PointBDD.java:61)

1 个答案:

答案 0 :(得分:2)

实际上,您的logcat说no such table。我相信这是因为您的onCreate()方法是空的,因此永远不会创建表。更新DbManager中的代码,如下所示:

@Override
public void onCreate(SQLiteDatabase db)
{
    db.execSQL(CREATE_POINTS);
}

此外,您的代码中有两个不同的表名。在DbManager

private static final String TABLE_POINT = "point";

PointBDD

private static final String TABLE_POINT = "table_point";