llf2580 2023-03-18 15:08 采纳率: 66.7%
浏览 31
已结题

SQLite插入数据错误

向SQLite存储数据出错怎么办?要是创建了数据库后,想添加一个默认的管理员账号及其数据,需要写在哪里呢?是数据库文件的onCreate()方法,还是登录界面的onCreate()里呢,或者主方法里?
请大家帮我看一下,下面SQL语句哪里出错了,app老是强制关闭

// DBHelper.java  ----  数据库文件
public class DBHelper extends SQLiteOpenHelper {
    //声明数据库名,版本号,表名
    private static final String DB_NAME = "DB_ChangShou.db";
    private static final int DB_VERSION = 1;
    public static final String table_Goods = "Goods";

    public DBHelper(Context context) {
        super(context,DB_NAME,null,DB_VERSION);//上下文,数据库名,空,版本号
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        // 创建用户购买商品数据表,_id,账号,金币,商品购买情况(0/1)-----九个商品,0代表未购买,1代表已拥有
        String sql ="CREATE TABLE IF NOT EXISTS "+DBHelper.table_Goods+"(_id INTEGER PRIMARY KEY AUTOINCREMENT,account VARCHAR(20),golds INT,goods1 INT,goods2 INT,goods3 INT,goods4 INT,goods5 INT,goods6 INT,goods7 INT,goods8 INT,goods9 INT)";
        db.execSQL(sql);
        // 此处还创建了其他数据表,不一一赘述
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
}

打开应用首先是一个WelcomeActivity,然后跳转MainActivity,由MainActivity判断用户是否登录,未登录跳转LoginActivity
我想创建一个管理员账号,账号昵称密码都是admin,再创建管理员金币商品数据表

// 添加管理员金币商品数据的语句
DBHelper dbHelper = new DBHelper(this);
SQLiteDatabase dbwrite = dbHelper.getWritableDatabase();
String s = "insert into "+DBHelper.table_Goods+" (account,golds,goods1,goods2,goods3,goods4,goods5,goods6,goods7,goods8,goods9) values('admin',10000,1,1,1,1,1,1,1,1,1)";
dbwrite.execSQL(s);

插入数据的这两句无论加到LoginActivity还是WelcomeActivity都报错,问题出在哪里呢?
前面还有给其他数据表插入数据,但显示错误再添加金币商品这个数据表里

img


img

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-03-18 15:41
    关注

    insert into 那个参数是否正确,一个一个对照下

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月20日
  • 修改了问题 3月18日
  • 创建了问题 3月18日

悬赏问题

  • ¥200 基于同花顺supermind的量化策略脚本编辑
  • ¥20 Html备忘录页面制作
  • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
  • ¥20 数学建模来解决我这个问题
  • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?