我正在尝试开发我的应用程序,以便它使用数据库存储有关书籍的数据。 我的Android和SQLite的知识很少,所以我的代码看起来很尴尬。当我尝试运行应用程序,时出现错误,指出表未找到SQLite Android
造成的:android.database.sqlite.SQLiteException:没有这样的表: Library_Table(代码1):在编译:选择_id,BOOK_TITLE, 作者,长度,Chapters_Read,DATE_ADDED FROM Library_Table ORDER BY DATE_ADDED DESC
我相信,当我打电话命令来查询数据库的问题出现;我肯定有些事情我做得不对,但在尝试调试几周后,我即将放弃。我将添加我认为对于这个问题非常重要的几段代码。
相信这第一部分创建表(它发生在其延伸的sqliteopenhelper类):
public void onCreate(SQLiteDatabase sqLiteDatabase) {
String CREATE_LIBRARY_TABLE = "CREATE TABLE " + Constants.TABLE_NAME
+ "("
+ Constants.KEY_ID + " INTEGER PRIMARY KEY,"
+ Constants.TITLE_NAME + " TEXT,"
+ Constants.BOOK_AUTHOR + " TEXT,"
+ Constants.BOOK_LENGTH + " INTEGER,"
+ Constants.CHAPTERS_READ + " INTEGER,"
+ Constants.DATE_ADDED + " TEXT"
+ ");";
sqLiteDatabase.execSQL(CREATE_LIBRARY_TABLE);
}
此下部分也发生延伸SQLitesOpenHelper (线光标的光标=数据库的类。
public ArrayList<Book> getBooks(){
String selectQuery = "SELECT * FROM " + Constants.TABLE_NAME;
SQLiteDatabase database = this.getReadableDatabase();
Cursor cursor = database.query(
Constants.TABLE_NAME,
new String[]{
Constants.KEY_ID,
Constants.TITLE_NAME,
Constants.BOOK_AUTHOR,
Constants.BOOK_LENGTH,
Constants.CHAPTERS_READ,
Constants.DATE_ADDED},
null, null, null, null,
Constants.DATE_ADDED + " DESC");
这是常量类(在一个单独的文件)::
;查询由机器人工作室作为有问题的)反白标明public class Constants {
public static final String DATABASE_NAME = "LibraryDB";
public static final int DATABASE_VERSION = 1;
public static final String TABLE_NAME = "Library_Table";
public static final String KEY_ID = "_id";
public static final String TITLE_NAME = "Book_Title";
public static final String BOOK_AUTHOR = "Author";
public static final String BOOK_LENGTH = "Length";
public final static String CHAPTERS_READ = "Chapters_Read";
public static final String DATE_ADDED = "Date_Added";
}
我认为真正的问题是我不太了解这方面的做法,我怀疑这不是一个很大的问题需要解决。