- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每当我向数据库添加一些表时,我都会收到此错误。如果我删除游戏并再次安装,我不会收到该错误,因此有该表。我尝试将数据库版本更改为 2 而不是 1,但它已更新但仍然出现错误。有什么问题?这是日志猫:
04-17 20:01:08.117: D/szipinf(10494): Initializing inflate state
04-17 20:01:08.217: D/szipinf(10494): Initializing inflate state
04-17 20:01:08.227: D/szipinf(10494): Initializing zlib to inflate
04-17 20:01:10.277: E/DataBaseHelper(10494): database updated
04-17 20:01:10.507: I/Database(10494): sqlite returned: error code = 1, msg = no such table: tblLogicTest
04-17 20:01:10.507: E/DataAdapter(10494): getTestData >>android.database.sqlite.SQLiteException: no such table: tblLogicTest: , while compiling: SELECT * FROM tblLogicTest WHERE 1 = 1 ORDER BY _ID ASC
04-17 20:01:10.507: D/AndroidRuntime(10494): Shutting down VM
04-17 20:01:10.507: W/dalvikvm(10494): threadid=1: thread exiting with uncaught exception (group=0x40018560)
04-17 20:01:10.527: E/AndroidRuntime(10494): FATAL EXCEPTION: main
04-17 20:01:10.527: E/AndroidRuntime(10494): java.lang.RuntimeException: Unable to start activity ComponentInfo{rs.androidaplikacije.themostcompleteiqtest/rs.androidaplikacije.themostcompleteiqtest.LogicTest}: android.database.sqlite.SQLiteException: no such table: tblLogicTest: , while compiling: SELECT * FROM tblLogicTest WHERE 1 = 1 ORDER BY _ID ASC
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.app.ActivityThread.performLaunchActivity(ActivityThread.)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.app.ActivityThread.access$1500(ActivityThread.)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.app.ActivityThread$H.handleMessage(ActivityThread.)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.os.Handler.dispatchMessage(Handler.java:99)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.os.Looper.loop(Looper.)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.app.ActivityThread.main(ActivityThread.)
04-17 20:01:10.527: E/AndroidRuntime(10494): at java.lang.reflect.Method.invokeNative(Native Method)
04-17 20:01:10.527: E/AndroidRuntime(10494): at java.lang.reflect.Method.invoke(Method.)
04-17 20:01:10.527: E/AndroidRuntime(10494): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.)
04-17 20:01:10.527: E/AndroidRuntime(10494): at com.android.internal.os.ZygoteInit.main(ZygoteInit.)
04-17 20:01:10.527: E/AndroidRuntime(10494): at dalvik.system.NativeStart.main(Native Method)
04-17 20:01:10.527: E/AndroidRuntime(10494): Caused by: android.database.sqlite.SQLiteException: no such table: tblLogicTest: , while compiling: SELECT * FROM tblLogicTest WHERE 1 = 1 ORDER BY _ID ASC
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:65)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:83)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:49)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:42)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.)
04-17 20:01:10.527: E/AndroidRuntime(10494): at rs.androidaplikacije.themostcompleteiqtest.TestAdapter.getTestDataLogic(TestAdapter.)
04-17 20:01:10.527: E/AndroidRuntime(10494): at rs.androidaplikacije.themostcompleteiqtest.LogicTest.nextQuestion(LogicTest.)
04-17 20:01:10.527: E/AndroidRuntime(10494): at rs.androidaplikacije.themostcompleteiqtest.LogicTest.onCreate(LogicTest.java:93)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.)
04-17 20:01:10.527: E/AndroidRuntime(10494): at android.app.ActivityThread.performLaunchActivity(ActivityThread.)
04-17 20:01:10.527: E/AndroidRuntime(10494): ... 11 more
数据库助手:
public class DataBaseHelper extends SQLiteOpenHelper
{
private static String TAG = "DataBaseHelper"; // Tag just for the LogCat window
//destination path (location) of our database on device
private static String DB_PATH = "/data/data/rs.androidaplikacije.themostcompleteiqtest/databases/";
private static String DB_NAME ="pitanja.sqlite";// Database name
private static SQLiteDatabase mDataBase;
private final Context mContext;
private static final int DATABASE_VERSION = 3;
public DataBaseHelper(Context mojContext)
{
super(mojContext, DB_NAME, null, 3);// 1 it's Database Version
DB_PATH = mojContext.getApplicationInfo().dataDir + "/databases/";
this.mContext = mojContext;
}
public void createDataBase() throws IOException
{
//If database not exists copy it from the assets
this.getReadableDatabase();
this.close();
try
{
//Copy the database from assests
copyDataBase();
Log.e(TAG, "createDatabase database created");
}
catch (IOException mIOException)
{
throw new Error("ErrorCopyingDataBase");
}
}
/**
* Check if the database already exist to avoid re-copying the file each time you open the application.
* @return true if it exists, false if it doesn't
*/
public boolean checkDataBase(){
SQLiteDatabase checkDB = null;
try{
String myPath = DB_PATH + DB_NAME;
checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
}catch(SQLiteException e){
//database does't exist yet.
}
if(checkDB != null){
checkDB.close();
}
return checkDB != null ? true : false;
}
/*Check that the database exists here: /data/data/your package/databases/Da Name
private boolean checkDataBase()
{
File dbFile = new File(DB_PATH + DB_NAME);
//Log.v("dbFile", dbFile + " "+ dbFile.exists());
return dbFile.exists();
}
*/
//Copy the database from assets
private void copyDataBase() throws IOException
{
InputStream mInput = mContext.getAssets().open(DB_NAME);
String outFileName = DB_PATH + DB_NAME;
OutputStream mOutput = new FileOutputStream(outFileName);
byte[] mBuffer = new byte[1024];
int mLength;
while ((mLength = mInput.read(mBuffer))>0)
{
mOutput.write(mBuffer, 0, mLength);
}
mOutput.flush();
mOutput.close();
mInput.close();
}
//Open the database, so we can query it
public boolean openDataBase() throws SQLException
{
String mPath = DB_PATH + DB_NAME;
//Log.v("mPath", mPath);
mDataBase = SQLiteDatabase.openDatabase(mPath, null, SQLiteDatabase.CREATE_IF_NECESSARY);
//mDataBase = SQLiteDatabase.openDatabase(mPath, null, SQLiteDatabase.NO_LOCALIZED_COLLATORS);
return mDataBase != null;
}
@Override
public void close()
{
if(mDataBase != null)
mDataBase.close();
super.close();
}
@Override
public void onCreate(SQLiteDatabase arg0) {
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
try {
// delete existing?
// Copy the db from assests
copyDataBase();
Log.e(TAG, "database updated");
} catch (IOException mIOException) {
Log.e(TAG, mIOException.toString());
try {
throw mIOException;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
适配器:
public class TestAdapter
{
protected static final String TAG = "DataAdapter";
private final Context mContext;
private SQLiteDatabase mDb;
private DataBaseHelper mDbHelper;
public TestAdapter(Context context)
{
this.mContext = context;
mDbHelper = new DataBaseHelper(mContext);
}
public TestAdapter createDatabase() throws SQLException
{
try
{
mDbHelper.createDataBase();
}
catch (IOException mIOException)
{
Log.e(TAG, mIOException.toString() + " UnableToCreateDatabase");
throw new Error("UnableToCreateDatabase");
}
return this;
}
public TestAdapter open() throws SQLException
{
try
{
mDbHelper.openDataBase();
mDbHelper.close();
mDb = mDbHelper.getReadableDatabase();
}
catch (SQLException mSQLException)
{
Log.e(TAG, "open >>"+ mSQLException.toString());
throw mSQLException;
}
return this;
}
public void close()
{
mDbHelper.close();
}
public Cursor getTestDataMDPI(String whereClause)
{;
try
{
String sql ="SELECT * FROM tblPitanjaDanskaMDPI WHERE 1 = 1 " + whereClause + " ORDER BY _ID ASC";
Cursor mCur = mDb.rawQuery(sql, null);
if (mCur!=null)
{
mCur.moveToNext();
}
return mCur;
}
catch (SQLException mSQLException)
{
Log.e(TAG, "getTestData >>"+ mSQLException.toString());
throw mSQLException;
}
}
public Cursor getTestDataHDPI(String whereClause)
{;
try
{
String sql ="SELECT * FROM tblPitanjaDanskaHDPI WHERE 1 = 1 " + whereClause + " ORDER BY _ID ASC";
Cursor mCur = mDb.rawQuery(sql, null);
if (mCur!=null)
{
mCur.moveToNext();
}
return mCur;
}
catch (SQLException mSQLException)
{
Log.e(TAG, "getTestData >>"+ mSQLException.toString());
throw mSQLException;
}
}
public Cursor getTestDataLogic(String whereClause)
{;
try
{
String sql ="SELECT * FROM tblLogicTest WHERE 1 = 1 " + whereClause + " ORDER BY _ID ASC";
Cursor mCur = mDb.rawQuery(sql, null);
if (mCur!=null)
{
mCur.moveToNext();
}
return mCur;
}
catch (SQLException mSQLException)
{
Log.e(TAG, "getTestData >>"+ mSQLException.toString());
throw mSQLException;
}
}
}
最佳答案
那么除非增加数据库版本,否则不会调用onUpgrade
方法。
关于java - 每当我向数据库添加一些表时,就没有这样的表错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16067152/
SQLite、Content provider 和 Shared Preference 之间的所有已知区别。 但我想知道什么时候需要根据情况使用 SQLite 或 Content Provider 或
警告:我正在使用一个我无法完全控制的后端,所以我正在努力解决 Backbone 中的一些注意事项,这些注意事项可能在其他地方更好地解决......不幸的是,我别无选择,只能在这里处理它们! 所以,我的
我一整天都在挣扎。我的预输入搜索表达式与远程 json 数据完美配合。但是当我尝试使用相同的 json 数据作为预取数据时,建议为空。点击第一个标志后,我收到预定义消息“无法找到任何内容...”,结果
我正在制作一个模拟 NHL 选秀彩票的程序,其中屏幕右侧应该有一个 JTextField,并且在左侧绘制弹跳的选秀球。我创建了一个名为 Ball 的类,它实现了 Runnable,并在我的主 Draf
这个问题已经有答案了: How can I calculate a time span in Java and format the output? (18 个回答) 已关闭 9 年前。 这是我的代码
我有一个 ASP.NET Web API 应用程序在我的本地 IIS 实例上运行。 Web 应用程序配置有 CORS。我调用的 Web API 方法类似于: [POST("/API/{foo}/{ba
我将用户输入的时间和日期作为: DatePicker dp = (DatePicker) findViewById(R.id.datePicker); TimePicker tp = (TimePic
放宽“邻居”的标准是否足够,或者是否有其他标准行动可以采取? 最佳答案 如果所有相邻解决方案都是 Tabu,则听起来您的 Tabu 列表的大小太长或您的释放策略太严格。一个好的 Tabu 列表长度是
我正在阅读来自 cppreference 的代码示例: #include #include #include #include template void print_queue(T& q)
我快疯了,我试图理解工具提示的行为,但没有成功。 1. 第一个问题是当我尝试通过插件(按钮 1)在点击事件中使用它时 -> 如果您转到 Fiddle,您会在“内容”内看到该函数' 每次点击都会调用该属
我在功能组件中有以下代码: const [ folder, setFolder ] = useState([]); const folderData = useContext(FolderContex
我在使用预签名网址和 AFNetworking 3.0 从 S3 获取图像时遇到问题。我可以使用 NSMutableURLRequest 和 NSURLSession 获取图像,但是当我使用 AFHT
我正在使用 Oracle ojdbc 12 和 Java 8 处理 Oracle UCP 管理器的问题。当 UCP 池启动失败时,我希望关闭它创建的连接。 当池初始化期间遇到 ORA-02391:超过
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve
引用这个plunker: https://plnkr.co/edit/GWsbdDWVvBYNMqyxzlLY?p=preview 我在 styles.css 文件和 src/app.ts 文件中指定
为什么我的条形这么细?我尝试将宽度设置为 1,它们变得非常厚。我不知道还能尝试什么。默认厚度为 0.8,这是应该的样子吗? import matplotlib.pyplot as plt import
当我编写时,查询按预期执行: SELECT id, day2.count - day1.count AS diff FROM day1 NATURAL JOIN day2; 但我真正想要的是右连接。当
我有以下时间数据: 0 08/01/16 13:07:46,335437 1 18/02/16 08:40:40,565575 2 14/01/16 22:2
一些背景知识 -我的 NodeJS 服务器在端口 3001 上运行,我的 React 应用程序在端口 3000 上运行。我在 React 应用程序 package.json 中设置了一个代理来代理对端
我面临着一个愚蠢的问题。我试图在我的 Angular 应用程序中延迟加载我的图像,我已经尝试过这个2: 但是他们都设置了 src attr 而不是 data-src,我在这里遗漏了什么吗?保留 d
我是一名优秀的程序员,十分优秀!