Android:如何解决执行doInBackground()时发生的java.lang.RuntimeException错误?

Android:如何解决执行doInBackground()时发生的java.lang.RuntimeException错误?,android,sqlite,Android,Sqlite,我在创建SQL表时运行了一些错误,报告java.lang.RuntimeException:执行doInBackground()时发生错误,原因是:android.database.sqlite.SQLiteException:靠近“组”:语法错误(代码1):一下午都在试图解决问题,但没有成功……有人能提供帮助吗?非常感谢 主要练习: 日志: 07-21 20:32:20.940:E/SQLiteLog(17813):(1)靠近“组”:语法错误 07-21 20:32:20.955:W/dalv

我在创建SQL表时运行了一些错误,报告
java.lang.RuntimeException:执行doInBackground()时发生错误
,原因是:android.database.sqlite.SQLiteException:靠近“组”:语法错误(代码1):
一下午都在试图解决问题,但没有成功……有人能提供帮助吗?非常感谢

主要练习: 日志:
07-21 20:32:20.940:E/SQLiteLog(17813):(1)靠近“组”:语法错误
07-21 20:32:20.955:W/dalvikvm(17813):threadid=11:线程以未捕获异常退出(组=0x40e202a0)
07-21 20:32:21.000:E/AndroidRuntime(17813):致命异常:AsyncTask#1
07-21 20:32:21.000:E/AndroidRuntime(17813):java.lang.RuntimeException:执行doInBackground()时出错
07-21 20:32:21.000:E/AndroidRuntime(17813):在android.os.AsyncTask$3.done(AsyncTask.java:299)
07-21 20:32:21.000:E/AndroidRuntime(17813):位于java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
07-21 20:32:21.000:E/AndroidRuntime(17813):位于java.util.concurrent.FutureTask.setException(FutureTask.java:124)
07-21 20:32:21.000:E/AndroidRuntime(17813):在java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
07-21 20:32:21.000:E/AndroidRuntime(17813):在java.util.concurrent.FutureTask.run(FutureTask.java:137)
07-21 20:32:21.000:E/AndroidRuntime(17813):在android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
07-21 20:32:21.000:E/AndroidRuntime(17813):位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
07-21 20:32:21.000:E/AndroidRuntime(17813):位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
07-21 20:32:21.000:E/AndroidRuntime(17813):在java.lang.Thread.run(Thread.java:856)
07-21 20:32:21.000:E/AndroidRuntime(17813):由以下原因引起:android.database.sqlite.SQLiteException:靠近“组”:语法错误(代码1):,编译时:创建表练习(_idinteger主键自动递增,名称文本,组文本,计算文本);
07-21 20:32:21.000:E/AndroidRuntime(17813):在android.database.sqlite.SQLiteConnection.nativePrepareStatement(本机方法)
07-21 20:32:21.000:E/AndroidRuntime(17813):在android.database.sqlite.SQLiteConnection.acquiredPreparedStatement(SQLiteConnection.java:1013)
07-21 20:32:21.000:E/AndroidRuntime(17813):在android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:624)
07-21 20:32:21.000:E/AndroidRuntime(17813):在android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
07-21 20:32:21.000:E/AndroidRuntime(17813):位于android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
07-21 20:32:21.000:E/AndroidRuntime(17813):位于android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
07-21 20:32:21.000:E/AndroidRuntime(17813):在android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663)
07-21 20:32:21.000:E/AndroidRuntime(17813):位于android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594)
07-21 20:32:21.000:E/AndroidRuntime(17813):在com.abc。DatabaseConnector$DatabaseOpenHelper.onCreate(DatabaseConnector.java:90)
07-21 20:32:21.000:E/AndroidRuntime(17813):位于android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
07-21 20:32:21.000:E/AndroidRuntime(17813):位于android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
07-21 20:32:21.000:E/AndroidRuntime(17813):在com。美国广播公司。打开(DatabaseConnector.java:26)
07-21 20:32:21.000:E/AndroidRuntime(17813):在com。美国广播公司。abc.Exercises\u Main$Get\u Ex\u Data\u Task.doInBackground(Exercises\u Main.java:65)
07-21 20:32:21.000:E/AndroidRuntime(17813):在com。美国广播公司。abc.Exercises\u Main$Get\u Ex\u Data\u Task.doInBackground(Exercises\u Main.java:1)
07-21 20:32:21.000:E/AndroidRuntime(17813):在android.os.AsyncTask$2.call(AsyncTask.java:287)
07-21 20:32:21.000:E/AndroidRuntime(17813):在java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
是一个不能在列名称中使用的组。请给你的专栏起个别的名字

什么是stacktrace


Java stacktrace是您在“Logcat:”部分中拥有的,从
Java.lang.RuntimeException开始:执行doInBackground()
行直到您发布的Logcat条目末尾时发生错误。

您读过stacktrace吗?更改名称和组字段名称,试试看again@pearmak请参阅Commonware的答案非常感谢!它起作用了!!非常感谢!!我真的不知道团体不能用!
   private class Get_Ex_Data_Task extends AsyncTask<Object, Object, Cursor> 
   {
      DatabaseConnector databaseConnector = new DatabaseConnector(Exercises_Main.this);

      @Override
      protected Cursor doInBackground(Object... params)
      {
         databaseConnector.open();  //LINE 65
         return databaseConnector.get_All_Ex_Data();  
      } 
   public Cursor get_All_Ex_Data() 
   {
      return database.query("DB_ex", new String[] {"_id", "name"}, null, null, null, null, "name");
   }    

   private class DatabaseOpenHelper extends SQLiteOpenHelper 
   {
      public DatabaseOpenHelper(Context context, String name, CursorFactory factory, int version) 
      {
         super(context, name, factory, version);
      } 

      @Override
      public void onCreate(SQLiteDatabase db) 
      {
         String createQuery = "CREATE TABLE exercises" +
            "(_id integer primary key autoincrement," +
            "name TEXT, group TEXT, calory TEXT);";

         db.execSQL(createQuery);
      }

      @Override
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
      {
      }
   } 
07-21 20:32:20.940: E/SQLiteLog(17813): (1) near "group": syntax error
07-21 20:32:20.955: W/dalvikvm(17813): threadid=11: thread exiting with uncaught exception (group=0x40e202a0)
07-21 20:32:21.000: E/AndroidRuntime(17813): FATAL EXCEPTION: AsyncTask #1
07-21 20:32:21.000: E/AndroidRuntime(17813): java.lang.RuntimeException: An error occured while executing doInBackground()
07-21 20:32:21.000: E/AndroidRuntime(17813):    at android.os.AsyncTask$3.done(AsyncTask.java:299)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at java.lang.Thread.run(Thread.java:856)
07-21 20:32:21.000: E/AndroidRuntime(17813): Caused by: android.database.sqlite.SQLiteException: near "group": syntax error (code 1): , while compiling: CREATE TABLE exercises(_id integer primary key autoincrement,name TEXT, group TEXT, calory TEXT);
07-21 20:32:21.000: E/AndroidRuntime(17813):    at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1013)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:624)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at com.abc. abc.DatabaseConnector$DatabaseOpenHelper.onCreate(DatabaseConnector.java:90)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at com. abc. abc.DatabaseConnector.open(DatabaseConnector.java:26)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at com. abc. abc.Exercises_Main$Get_Ex_Data_Task.doInBackground(Exercises_Main.java:65)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at com. abc. abc.Exercises_Main$Get_Ex_Data_Task.doInBackground(Exercises_Main.java:1)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
07-21 20:32:21.000: E/AndroidRuntime(17813):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)