- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用SQLiteDatabase
我遇到了一个奇怪的问题 - 当我尝试SELECT * FROM
时表给了我这个:
no such table: test_table (code 1): , while compiling: SELECT * FROM test_table
但是当我插入同一个表时,没有 Exception
已发送。这是我的代码:
从表中获取所有数据的方法:
public List<Test> GetAllTests()
{
List<Test> tests =new ArrayList<Test>();
SQLiteDatabase db = this.getReadableDatabase();
String sql = "SELECT * FROM " + TEST_TABLE;
Cursor cursor = db.rawQuery(sql,null);
if(cursor.moveToFirst())
{
do
{
Test test = new Test();
test.setId(cursor.getInt(cursor.getColumnIndex(KEY_ID)));
test.setSubjectID(cursor.getInt(cursor.getColumnIndex(KEY_SUBJECT_ID)));
String dateString = cursor.getString(cursor.getColumnIndex(KEY_TEST_DATE));
DateFormat format = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH);
Date date = null;
try {
date = format.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
test.setDate(date);
test.setGrade(cursor.getDouble(cursor.getColumnIndex(KEY_TEST_GRADE)));
tests.add(test);
}while(cursor.moveToNext());
}
return tests;
}
向同一个表插入数据的方法(无异常):
public long InsertTest(Test test)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_SUBJECT_ID,test.getSubjectID());
values.put(KEY_TEST_DATE,test.getDate().toString());
return db.insert(TEST_TABLE,null,values);
}
插入和获取数据的代码:
Test test = new Test(testSubjectID.getSelectedItemPosition(),date);
AddTestToList(test);
try {
dbManager.InsertTest(test);
List<Test> tests = dbManager.GetAllTests();
for (Test test:tests)
{
AddTestToList(test);
}
}catch (Exception e){Log.d("MSG_ERROR",e.toString());}
最佳答案
仅供引用
应用程序卸载
不是一个好方法。如果您的应用位于 PLAYSTORE
上,那么?您应该使用onUpgrade
以避免数据丢失
。
Called when the database needs to be upgraded. The implementation should use this method to drop tables, add tables, or do anything else it needs to upgrade to the new schema version.
如何?
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.e(TAG, "Updating table from " + oldVersion + " to " + newVersion);
if (oldVersion < 3){ // Here I SET 3. You should use your DB version . When-ever **`adding table`** please increase DB version .
db.execSQL(ALTER_USER_TABLE_1);
db.execSQL(ALTER_USER_TABLE_2);
}
}
更改表
private static final String ALTER_USER_TABLE_1 = "ALTER TABLE test_table ADD FIELD_NAME TEXT";
private static final String ALTER_USER_TABLE_2 = "ALTER TABLE test_table ADD FIELD_NAME2 TEXT";
关于java - Android studio SQL找不到表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46641789/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!