在新realease中添加新表时出错:android.database.sqlite.SQLiteException:没有这样的表

在新realease中添加新表时出错:android.database.sqlite.SQLiteException:没有这样的表,android,android-sqlite,Android,Android Sqlite,在我的android应用程序中,我在初始版本中使用了SQLite数据库。我现在需要在应用程序中创建一个新表。我在onCreate()和onUpgrate()中给出了create语句,但这两个语句都没有写入,我得到了错误: android.database.sqlite.SQLiteException: no such table 我试了,试了…catch()也不起作用。 请给我一个解决方案。通过搜索错误行,您可以找到有关stackoverflow的其他已解决问题 看看:可能是因为您的表已经创建

在我的android应用程序中,我在初始版本中使用了SQLite数据库。我现在需要在应用程序中创建一个新表。我在onCreate()和onUpgrate()中给出了create语句,但这两个语句都没有写入,我得到了错误:

android.database.sqlite.SQLiteException: no such table
我试了,试了…catch()也不起作用。
请给我一个解决方案。

通过搜索错误行,您可以找到有关stackoverflow的其他已解决问题

看看:

可能是因为您的表已经创建了。。。。使用此代码尝试一个新的测试应用程序(适用于我)

制作一个只包含一个创建表格按钮的测试应用程序

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  Button btn = (Button) findViewById(R.id.button1);
  btn.setOnClickListener(new View.OnClickListener(){
   @Override
   public void onClick(View v) {

   SQLiteDatabase objConnection=openOrCreateDatabase("database_name",MODE_PRIVATE,null);
objConnection.execSQL("Create Table IF NOT EXISTS table_name(id INTEGER primary Key AUTOINCREMENT, name Varchar(200))");
objConnection.close();
Toast.makeText(getApplicationContext(), "db created", Toast.LENGTH_SHORT).show();

}
});
} 

您是否设置了数据库版本?据我所知,如果旧的db版本小于新的db版本,onUpgrade()将调用添加一些代码。然后,只有我们可以确定是什么错误。感谢马杜山,设置新的db版本解决了这个问题。