android studio 错误提示 no such table: shuju

Android Studio

本人初学android ,求帮忙看看有什么问题!

public class ShujuSQLiteHelper extends SQLiteOpenHelper {

public ShujuSQLiteHelper(Context context){
    super(context,"shuju.db",null,5);
}

//当goods.db创建完成的时候,调用onCreate方法,在其中创建数据表
@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("create table shuju(id integer primary key autoincrement," +
            "name varchar(20)," +
            "price integer)" );
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

}

Caused by: android.database.sqlite.SQLiteException: no such table: shuju (code 1): , while compiling: alter table shuju add account varchar(20) default 1000
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1674)
at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1605)
at com.example.lenovo.gaoxiao30.ShujuSQLiteHelper.onUpgrade(ShujuSQLiteHelper.java:24)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:256)
at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
at com.example.lenovo.gaoxiao30.ShujuDao.query(ShujuDao.java:51)
at com.example.lenovo.gaoxiao30.ShujuActivity.onCreate(ShujuActivity.java:34)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)

3个回答

怎么感觉是其他地方报错的啊,是不是还没有将表格创建出来,先对表的字段进行了增加啊

: no such table: shuju (code 1): , 没有创建表

qq_32508519
Jimmy_buer 回复hay-Hxa-: 最好把数据库相关的代码都展示出来。 你可以从网上找一些安卓_sqlite操作demo。https://blog.csdn.net/qq_35840038/article/details/80655281个博客可以参考一下。
8 个月之前 回复
weixin_42411376
hay-Hxa- 我创建了,还是这样,有什么解决办法吗?
8 个月之前 回复

试着替换成这个
db.execSQL("CREATE TABLE IF NOT EXISTS shuju(id integer primary key autoincrement," + "name varchar(20)," + "price integer)" );

然后把应用卸载后再运行项目
有可能是你有过一次创建数据库的操作 但是没有创建shuju这个表
后面如果要添加的话 应该写在onUpgrade方法里 或者卸载应用后重新安装

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问