Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中的数据库连接_Android_Database_Sqlite - Fatal编程技术网

android中的数据库连接

android中的数据库连接,android,database,sqlite,Android,Database,Sqlite,我是android新手,上次我在android应用程序中连接了数据库,现在我在另一个项目中实现了这一点,但我遇到了这些错误 12-14 23:58:07.459: E/SQLiteLog(2171): (1) no such table: Quiz 12-14 23:58:07.459: D/AndroidRuntime(2171): Shutting down VM 12-14 23:58:07.459: W/dalvikvm(2171): threadid=1: th

我是android新手,上次我在android应用程序中连接了数据库,现在我在另一个项目中实现了这一点,但我遇到了这些错误

    12-14 23:58:07.459: E/SQLiteLog(2171): (1) no such table: Quiz
    12-14 23:58:07.459: D/AndroidRuntime(2171): Shutting down VM
    12-14 23:58:07.459: W/dalvikvm(2171): threadid=1: thread exiting with                    uncaught               exception (group=0x40a13300)
    12-14 23:58:07.509: E/AndroidRuntime(2171): FATAL EXCEPTION: main
    12-14 23:58:07.509: E/AndroidRuntime(2171): java.lang.RuntimeException: Unable to         start activity   ComponentInfo{com.example.whowantto/com.example.whowantto.play}:       android.database.sqlite.SQLiteException: no such table: Quiz (code 1): , while compiling:   SELECT Question, OptionA, OptionB, OptionC, OptionD, CorrectAnswer FROM Quiz WHERE flag=0
    12-14 23:58:07.509: E/AndroidRuntime(2171):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
    12-14 23:58:07.509: E/AndroidRuntime(2171):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
    12-14 23:58:07.509: E/AndroidRuntime(2171):     at android.app.ActivityThread.access$600(ActivityThread.java:130)
    12-14 23:58:07.509: E/AndroidRuntime(2171):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
    12-14 23:58:07.509: E/AndroidRuntime(2171):     at android.os.Handler.dispatchMessage(Handler.java:99)
    12-14 23:58:07.509: E/AndroidRuntime(2171):     at android.os.Looper.loop(Looper.java:137)
    12-14 23:58:07.509: E/AndroidRuntime(2171):     at android.app.ActivityThread.main(ActivityThread.java:4745)
    12-14 23:58:07.509: E/AndroidRuntime(2171):     at java.lang.reflect.Method.invokeNative(Native Method)
    12-14 23:58:07.509: E/AndroidRuntime(2171):     at java.lang.reflect.Method.invoke(Method.java:511)
    12-14 23:58:07.509: E/AndroidRuntime(2171):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
    12-14 23:58:07.509: E/AndroidRuntime(2171):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    12-14 23:58:07.509: E/AndroidRuntime(2171):     at dalvik.system.NativeStart.main(Native Method)
    12-14 23:58:07.509: E/AndroidRuntime(2171): Caused by: android.database.sqlite.SQLiteException: no such table: Quiz (code 1): , while compiling: SELECT Question, OptionA, OptionB, OptionC, OptionD, CorrectAnswer FROM Quiz WHERE flag=0
    12-14 23:58:07.509: E/AndroidRuntime(2171):     at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
  12-14 23:58:07.509: E/AndroidRuntime(2171):   at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1314)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1161)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1032)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1238)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  at com.example.whowantto.play.GetQuestion(play.java:479)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  at com.example.whowantto.play.onCreate(play.java:142)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  at android.app.Activity.performCreate(Activity.java:5008)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
   12-14 23:58:07.509: E/AndroidRuntime(2171):  ... 11 more
   12-14 23:58:15.591: E/Trace(2195): error opening trace file: No such file or directory (2)
12-14 23:58:07.459:E/SQLiteLog(2171):(1)没有这样的表格:测验
12-14 23:58:07.459:D/AndroidRuntime(2171):关闭虚拟机
12-14 23:58:07.459:W/dalvikvm(2171):threadid=1:线程以未捕获异常退出(组=0x40a13300)

12-14 23:58:07.509:E/AndroidRuntime(2171):致命异常:main
12-14 23:58:07.509:E/AndroidRuntime(2171):java.lang.RuntimeException:无法启动活动组件信息{com.example.whowantto/com.example.whowantto.play}:android.database.sqlite.SQLiteException:没有这样的表:测验(代码1):,编译时:选择问题,选项A,选项B,选项C,选项D,已更正标记为0的测验中的答案
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.app.ActivityThread.access$600(ActivityThread.java:130)
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.os.Handler.dispatchMessage(Handler.java:99)上
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.os.Looper.loop(Looper.java:137)
12-14 23:58:07.509:E/AndroidRuntime(2171):位于android.app.ActivityThread.main(ActivityThread.java:4745)
12-14 23:58:07.509:E/AndroidRuntime(2171):位于java.lang.reflect.Method.Invokenactive(本机方法)
12-14 23:58:07.509:E/AndroidRuntime(2171):位于java.lang.reflect.Method.invoke(Method.java:511)
12-14 23:58:07.509:E/AndroidRuntime(2171):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
12-14 23:58:07.509:E/AndroidRuntime(2171):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
12-14 23:58:07.509:E/AndroidRuntime(2171):在dalvik.system.NativeStart.main(本机方法)
12-14 23:58:07.509:E/AndroidRuntime(2171):由以下原因引起:android.database.sqlite.SQLiteException:没有这样的表:测验(代码1):,编译时:选择问题,选项A,选项B,选项C,选项D,从测验中选择正确答案,其中flag=0
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.database.sqlite.SQLiteConnection.nativePrepareStatement(本机方法)
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.database.sqlite.SQLiteQuery(SQLiteQuery.java:37)
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1314)
12-14 23:58:07.509:E/AndroidRuntime(2171):位于android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1161)
12-14 23:58:07.509:E/AndroidRuntime(2171):位于android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1032)
12-14 23:58:07.509:E/AndroidRuntime(2171):位于android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1238)
12-14 23:58:07.509:E/AndroidRuntime(2171):在com.example.whowantto.play.GetQuestion(play.java:479)
12-14 23:58:07.509:E/AndroidRuntime(2171):在com.example.whowantto.play.onCreate(play.java:142)上
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.app.Activity.performCreate(Activity.java:5008)上
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)上
12-14 23:58:07.509:E/AndroidRuntime(2171):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
12-14 23:58:07.509:E/AndroidRuntime(2171):。。。还有11个 12-14 23:58:15.591:E/Trace(2195):打开跟踪文件时出错:没有这样的文件或目录(2)

我已经检查了测验表,它是在我的数据库中发送的。.提前谢谢你

问题是你用一个模式创建了数据库,然后用另一个模式查询它。要解决这个问题,你可以

1) 删除数据库,然后使用正确的架构再次创建它

2) 或者您可以更改数据库的版本号


3) 或者您可以将查询更改为
SELECT*FROM quick WHERE flag=0
,这将选择所有列(我不确定测验表是否存在,这可能是个问题)

更改数据库名称并运行它。有时,在数据库中插入额外的列意味着将出现问题,或者使用您使用的查询进行检查

Cursor cur=DB.rawQuery(“SELECT*FROM”+表名称,null)


希望这有用

你是如何连接数据库的?发布一些代码。尝试卸载你的应用程序,如果你更改了数据库中的某些内容,请重新安装。12-14 23:58:07.509:E/AndroidRuntime(2171):原因:android.database.sqlite.sqlite异常:没有这样的表:测验(代码1):,编译时:选择问题,选项A,选项B,OptionC,OptionD,correctResponse FROM quick WHERE flag=0共享您的
创建
表查询..我正在使用databasehelper文件并使用此代码尝试{myDbHelper.openDataBase();}catch(SQLException sqle){throw s